Retry a failed run instead of exiting, with timeouts (1.4.0) #9
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/survive-failed-runs"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
One error used to stop the whole program:
Workflow.RuncalledLogger.Fatal, which exited the process, scheduler included, so a Jellyfin restart or a mail server blip lost that week's email. Requests also had no timeouts.newsletter.go:runOncereturns errors.Runretries after 5, 10 and 15 minutes, then logs an error and emails a one-line notice to the new optionalemail.failure_notice_recipient. It stops retrying once some recipients have the email (SendError.Sent > 0), so nobody gets it twice. A dry run gets one attempt and no notice.smtp/sender.go: onesendToRecipientsloop shared by the newsletter and the notice, returning aSendErrorthat names the missed recipients.mime_message.goleaves out an empty part (the notice is text only).jellyfin/movies.go,series.go: a folder whose request fails now fails the run instead of being dropped silently; a folder Jellyfin doesn't have is still just a warning.main.go); 30 s to dial SMTP and a 10-minute session deadline (smtp/client.go).Runsurviving an unreachable Jellyfin, a dry run failing at once, notice sent / not configured, a text-only message, and folder-error propagation. Also a regression dry run of the built image against the real Jellyfin: 12 s, 86 KB email.🤖 Generated with Claude Code