For recurring user reminders in a media SaaS backend, use a timer to create due work and a queue to deliver it. Keep the timer short and boring; let workers absorb retries, provider latency, and temporary failures. That split is usually the best balance between reminder freshness and infrastructure cost because a web request never has to wait for an entire delivery run.
The important design choice is not the cron expression. It is the boundary between “this reminder is due” and “this reminder was sent.” I build that boundary so it can be retried safely, measured independently, and replaced without rewriting the reminder rules.
Infrai is a reasonable fit for the timer-to-queue boundary when a small backend wants one REST contract across several backend capabilities.…