THE SCHEDULER
The part that runs when nobody is looking at the page
The value of knowing what a late filing costs is arriving before the money starts, not explaining it afterwards. Every other figure on this site is computed because someone opened a page. These are computed because a date moved.
How it decides
- It fires on a transition, not on a day. Thirty days before a due date, seven days before, the day it becomes overdue, and once more at thirty days late. A scheduler that asks “is this overdue?” every morning sends the same sentence every morning and is muted within a week.
- It cannot tell you twice. Each notice is claimed by an INSERT on a unique (subscription, transition) key. The database refuses the duplicate — not a conditional that someone could later forget.
- It recomputes; it never stores a figure. The subscription holds your company’s dates. The rupee amount is produced at send time by the same engine that serves /compliance, so a reminder can never quote a number the portal disagrees with.
- It runs somewhere else. A separate Worker with its own Cron Trigger, so a slow or failing delivery run cannot take the citizen portal down with it.
What it has actually done
Reading the scheduler’s record…
Why most rows say blocked
Cloudflare will only deliver to addresses verified as Email Routing destinations on the account, so a subscription to an arbitrary address is recorded as blocked rather than quietly appearing to have been sent. That is a provisioning fact, not a fault, and it is shown rather than hidden because the alternative — a log of successes that never reached anyone — is the exact failure this page exists to make impossible.
The scheduling, the arithmetic and the refusal to send twice are unaffected by it, and all three are visible above. See how this would really work for the rest of the design.