Émile Ré
952c427d2a
Add stale recovery to tracker mapping worker
...
The tracker-mapping worker clears mapping_requested_at at claim time, so
a crash or hard failure between Process phases left the pattern dequeued,
unmapped, and with nothing to re-trigger it. Only an incidental sibling
remap could rescue it, so a lone pattern could stay stranded forever.
Implement the worker.StaleRecoverer interface, mirroring the enrichment
worker. ResetStaleMappings re-arms rows that were claimed but never
assigned a catalog row (common_tracker_pattern_id IS NULL) once idle past
a configurable window; a successful Process always assigns one via the
unmatched fallback, so the predicate cleanly detects interrupted runs and
self-heals after a single pass. ClearMappingRequestedAt now bumps
updated_at so the stale clock starts at claim time and the sweep never
recycles an in-flight claim.
Plumb a StaleAfter knob (default 600s) through the config struct, builder
env var, probod wiring, and Helm templates.
Signed-off-by: Émile Ré <emile@probo.com >
2026-06-01 13:17:18 +02:00
..
2026-05-29 11:48:10 +02:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 09:27:28 +04:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-13 21:21:39 +02:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-03-21 19:16:19 +01:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-13 21:21:39 +02:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 09:27:28 +04:00
2026-05-20 09:27:28 +04:00
2026-05-20 09:27:28 +04:00
2026-05-29 10:07:28 +02:00
2026-06-01 13:17:17 +02:00
2026-06-01 13:17:17 +02:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-03-25 17:38:32 +01:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-28 18:37:18 -07:00
2026-05-27 00:34:39 +02:00
2026-05-28 18:36:36 -07:00
2026-05-20 11:46:39 +04:00
2026-05-28 12:30:36 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 11:46:39 +04:00
2026-03-25 17:38:32 +01:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 09:27:28 +04:00
2026-03-25 17:38:32 +01:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-04-13 14:50:42 +04:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-23 14:07:37 -07:00
2026-05-22 10:20:06 +02:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-04-28 15:28:17 +04:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-26 11:14:48 +02:00
2026-05-28 18:51:42 +00:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-27 18:40:55 +02:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-13 21:21:39 +02:00
2026-05-23 14:07:37 -07:00
2026-05-22 11:54:44 +02:00
2026-05-29 10:07:33 +02:00
2026-05-20 15:36:47 -07:00
2026-05-20 11:46:39 +04:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-28 18:12:32 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-28 18:12:32 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-04-03 11:56:06 +02:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-04-03 11:56:06 +02:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-19 21:44:27 +02:00
2026-04-23 20:50:25 +02:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 09:27:28 +04:00
2026-04-28 13:12:58 +02:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-03-25 17:38:32 +01:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 11:46:39 +04:00
2026-03-25 17:38:32 +01:00
2026-05-26 15:49:17 +02:00
2026-05-26 15:49:17 +02:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-04-27 16:06:44 +04:00
2026-05-28 12:23:17 -07:00
2026-05-28 12:23:17 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-03-25 17:38:32 +01:00
2026-05-20 09:27:28 +04:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 09:27:28 +04:00
2026-04-03 11:56:06 +02:00
2026-05-20 15:36:47 -07:00
2026-05-28 13:42:29 +02:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 09:27:28 +04:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-15 23:26:02 +02:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:05:08 +04:00
2026-05-20 15:05:08 +04:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 09:27:28 +04:00
2026-05-04 14:13:42 +02:00
2026-05-20 09:27:28 +04:00
2026-04-03 11:56:06 +02:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 11:46:39 +04:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-28 12:30:34 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-03-25 17:38:32 +01:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-26 15:49:17 +02:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-26 15:21:38 +02:00
2026-05-29 10:07:32 +02:00
2026-05-20 11:46:39 +04:00
2026-05-29 10:07:31 +02:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-06-01 13:17:18 +02:00
2026-06-01 13:17:18 +02:00
2026-05-11 14:52:53 +04:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-27 18:40:55 +02:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 15:36:47 -07:00
2026-05-20 09:27:28 +04:00
2026-05-20 15:36:47 -07:00
2026-05-23 14:07:37 -07:00