Urgent.News

What's breaking now, across thousands of outlets.

Tech

Daily Report Cron Job API Scheduling: 2 HTTP Webhook Delivery Guarantees for Payment Reconciliation

Short answer: choose the scheduler by the delivery guarantee you can prove, not by how friendly its cron editor looks. For a healthtech payment reconciliation, the useful contract is usually at-least-once execution plus an idempotent report key. A webhook should wake the job. It should not be treated as proof that the email was sent. That distinction changed my design. A daily report can be late…

When scheduling a daily report for healthtech payment reconciliation, the key considerations are delivery guarantees and idempotent reporting. The focus should be on proving the delivery guarantee, not the delivery medium itself. A webhook should trigger the job, not confirm email receipt. A daily report can be late and still be valuable; a reconciliation that skips a provider window is a bookkeeping defect.

To schedule the report, one run should be executed at 02:00 UTC. Persist an immutable run record, fetch the payment window, build the report, and hand off email work with durable acknowledgement. The focus should be on the schedule trigger and ledger authority, not on the boundary between them.

Two promises exist within the term "reliable": the scheduled task being attempted, and the resulting report being accepted by the next system. A cron endpoint can fulfill the first promise, even if the network drops the response after the server begins work. Retrying the webhook can create duplicate runs, so the contract should outline at-least-once delivery attempts with unique run keys and final states for each business date.

The worker should publish a report command upon receipt and acknowledge the message only after handling it, preventing duplicate deliveries from causing harm.

Use an idempotency key like "payment-reconciliation:2026-10-24" to identify a logical run, while a separate attempt ID tracks each delivery attempt. If the webhook arrives multiple times, all attempts point to one logical run. Use a durable message queue like RabbitMQ to ensure message acknowledgement only occurs after successful processing, making repeated deliveries harmless.

To implement this, keep scheduling concerns separate from the worker. The worker should accept a generic HTTP request, validate a shared secret, claim a logical run, and publish a report command. The storage and queue interfaces should be straightforward to ensure the focus remains on the glue aspects of the system.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

More from Sunday 8 November →