Jonathan
ca5bbfa9da
fix(worker): retry transient MusicBrainz failures with backoff
...
The matching stage makes up to three musicbrainzngs calls per job, none of
which retried. A dropped TLS connection (surfacing as NetworkError,
"<urlopen error [SSL: UNEXPECTED_EOF_WHILE_READING]>") or a 503 rate-limit
(ResponseError) failed the entire pipeline for the job, which then re-queued
and re-ran from scratch — ~36% of jobs churned this way over a 6h window.
Wrap the three MB calls in _with_retry (4 attempts, 1s/2s/4s exponential
backoff), catching only the two transient musicbrainzngs error types so real
bugs still propagate. musicbrainzngs stays lazily imported to keep module
import offline.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-20 16:45:37 +02:00
..
2026-07-10 16:33:22 +02:00
2026-07-14 22:39:52 +02:00
2026-07-10 18:35:52 +02:00
2026-07-14 11:17:51 +02:00
2026-07-11 12:12:17 +02:00
2026-07-15 19:54:14 +02:00
2026-07-15 12:01:38 +02:00
2026-07-10 18:26:52 +02:00
2026-07-10 20:07:49 +02:00
2026-07-10 20:03:28 +02:00
2026-07-12 12:37:06 +02:00
2026-07-10 17:32:20 +02:00
2026-07-15 00:38:56 +02:00
2026-07-11 23:58:45 +02:00
2026-07-13 00:57:00 +02:00
2026-07-15 00:38:56 +02:00
2026-07-14 13:17:20 +02:00
2026-07-15 11:57:34 +02:00
2026-07-11 12:40:11 +02:00
2026-07-14 13:36:11 +02:00
2026-07-15 19:03:05 +02:00
2026-07-10 23:27:28 +02:00
2026-07-10 23:17:06 +02:00
2026-07-14 23:36:41 +02:00
2026-07-13 19:23:18 +02:00
2026-07-11 16:56:59 +02:00
2026-07-10 23:43:15 +02:00
2026-07-14 12:55:54 +02:00
2026-07-12 00:17:58 +02:00
2026-07-11 12:35:07 +02:00
2026-07-12 10:42:42 +02:00
2026-07-14 21:03:54 +02:00
2026-07-12 15:08:24 +02:00
2026-07-11 12:35:07 +02:00
2026-07-11 12:07:09 +02:00
2026-07-11 16:54:11 +02:00
2026-07-20 16:45:37 +02:00
2026-07-10 23:52:19 +02:00
2026-07-15 02:37:08 +02:00
2026-07-10 23:12:33 +02:00
2026-07-15 02:37:08 +02:00
2026-07-11 17:00:33 +02:00
2026-07-10 21:59:57 +02:00
2026-07-15 18:45:56 +02:00
2026-07-15 18:45:56 +02:00
2026-07-10 22:05:36 +02:00
2026-07-10 22:16:03 +02:00
2026-07-10 19:07:58 +02:00
2026-07-10 19:07:58 +02:00
2026-07-14 12:37:16 +02:00
2026-07-10 22:53:25 +02:00
2026-07-12 00:13:40 +02:00
2026-07-13 15:26:44 +02:00
2026-07-13 15:39:38 +02:00
2026-07-14 21:55:24 +02:00
2026-07-14 10:19:46 +02:00
2026-07-12 00:03:45 +02:00
2026-07-13 19:23:18 +02:00
2026-07-15 19:54:14 +02:00
2026-07-14 09:59:16 +02:00
2026-07-15 13:22:01 +02:00
2026-07-10 22:40:53 +02:00
2026-07-10 22:45:36 +02:00
2026-07-10 22:56:23 +02:00
2026-07-12 23:44:27 +02:00
2026-07-13 00:46:40 +02:00
2026-07-11 00:46:17 +02:00
2026-07-11 01:01:23 +02:00
2026-07-13 23:04:25 +02:00
2026-07-15 02:37:08 +02:00
2026-07-11 15:13:31 +02:00
2026-07-10 23:47:20 +02:00
2026-07-11 16:54:11 +02:00
2026-07-11 15:13:31 +02:00
2026-07-15 19:15:43 +02:00
2026-07-11 18:03:29 +02:00
2026-07-10 21:19:27 +02:00
2026-07-10 21:24:05 +02:00
2026-07-10 21:33:05 +02:00