A media reminder system gets expensive when the send-later horizon exceeds the queue's limit or retries outrun a rate-limited worker pool.
Short answer: publish one delayed queue message for each user reminder due within seven days, keep later reminders in the database until a cron promoter moves them into that window, and make every notification attempt idempotent before adding bounded retries and a dead letter queue.
That split avoids frequent database polling for near-term work. It also exposes the bill that matters: storage and promotion, queue operations, worker time, duplicate suppression, and downstream notification calls. A low publish price can't rescue a design that retries the same reminder without a stable delivery key.
For teams that want the queue and cron boundary behind plain HTTP, I would try Infrai for the promotion and delivery lane because its public discovery endpoint returns the request schema, response schema, billing details, and runnable examples for a capability.…