Period-limit reset
period-limit-reset · /api/jobs/period-limit-reset · every 5 minutes (*/5 * * * *)
Rolls over every customer whose daily or monthly payment-limit period has ENDED: the period's accounting — what was used, over how many payments, against which cap — is archived to the period history for reporting, and the live counter is removed so the new period starts at zero. A period that is still open is never touched, so spend booked today is never discarded.
Why running it twice is safe: Only counters whose period end has already passed are ever in the work list, so a live period is structurally invisible to the job. Each period is closed under a lock on the customer row, and the history row is UNIQUE on (customer, scope, period): a second run in the same period finds nothing left to close and reports it, and a counter that accrued after an archive is merged into that archive rather than overwriting it.
Not polling: nothing on screen can change status any more. Showing state as of .
Elapsed, awaiting rollover
0
USD 0.00 of usage the next run would archive and zero
Live counters (untouchable)
0
USD 0.00 booked in periods that have not ended — never touched by the job
Next period ends
—
No live counter exists, so nothing is due to roll over
Closed periods on record
0
USD 0.00 of historical usage retained for reporting
Closed period history (0 recorded)
What the reset preserved. Each row is one customer's completed daily or monthly period: what they consumed, over how many payments, against the cap that was in force at the moment it closed. The live counter for that period is gone — the customer's new period started at zero — but the accounting is not lost.
No limit period has been closed yet. A period is archived here the first time the reset runs after its UTC end.
Run it now (for testing)
Optional: the platform triggers this job on its own schedule whether or not anybody presses this. A hand-run does exactly the same work under exactly the same idempotency guarantee and is recorded below as a manual run with the staff user against it.
No period has ended, so a run would roll nothing over — which is the honest outcome, and it is still recorded.
Run history (29 recorded)
Newest first. Hover a count for exactly what it counts.
| Started (UTC) | Trigger | Status | Duration | Examined | Rolled over | Merged | Skipped | Outcome |
|---|---|---|---|---|---|---|---|---|
| 2026-08-19 06:20:59 UTCslot 2026-08-19 06:20:00 UTC · attempt 1 | platform schedule | succeeded | 7 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 06:15:48 UTCslot 2026-08-19 06:15:00 UTC · attempt 1 | platform schedule | succeeded | 6 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 06:10:57 UTCslot 2026-08-19 06:10:00 UTC · attempt 1 | platform schedule | succeeded | 6 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 06:05:48 UTCslot 2026-08-19 06:05:00 UTC · attempt 1 | platform schedule | succeeded | 5 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 06:00:55 UTCslot 2026-08-19 06:00:00 UTC · attempt 1 | platform schedule | succeeded | 7 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 05:55:48 UTCslot 2026-08-19 05:55:00 UTC · attempt 1 | platform schedule | succeeded | 5 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 05:50:53 UTCslot 2026-08-19 05:50:00 UTC · attempt 1 | platform schedule | succeeded | 6 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 05:45:48 UTCslot 2026-08-19 05:45:00 UTC · attempt 1 | platform schedule | succeeded | 6 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 05:40:51 UTCslot 2026-08-19 05:40:00 UTC · attempt 1 | platform schedule | succeeded | 7 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 05:35:48 UTCslot 2026-08-19 05:35:00 UTC · attempt 1 | platform schedule | succeeded | 6 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 05:30:48 UTCslot 2026-08-19 05:30:00 UTC · attempt 1 | platform schedule | succeeded | 7 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 05:25:47 UTCslot 2026-08-19 05:25:00 UTC · attempt 1 | platform schedule | succeeded | 8 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 05:20:45 UTCslot 2026-08-19 05:20:00 UTC · attempt 1 | platform schedule | succeeded | 7 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 05:15:44 UTCslot 2026-08-19 05:15:00 UTC · attempt 1 | platform schedule | succeeded | 6 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 05:10:43 UTCslot 2026-08-19 05:10:00 UTC · attempt 1 | platform schedule | succeeded | 7 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 05:05:41 UTCslot 2026-08-19 05:05:00 UTC · attempt 1 | platform schedule | succeeded | 6 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 05:00:40 UTCslot 2026-08-19 05:00:00 UTC · attempt 1 | platform schedule | succeeded | 10 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 04:55:39 UTCslot 2026-08-19 04:55:00 UTC · attempt 1 | platform schedule | succeeded | 7 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 04:50:37 UTCslot 2026-08-19 04:50:00 UTC · attempt 1 | platform schedule | succeeded | 6 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 04:45:36 UTCslot 2026-08-19 04:45:00 UTC · attempt 1 | platform schedule | succeeded | 6 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 04:40:34 UTCslot 2026-08-19 04:40:00 UTC · attempt 1 | platform schedule | succeeded | 7 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 04:35:33 UTCslot 2026-08-19 04:35:00 UTC · attempt 1 | platform schedule | succeeded | 7 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 04:30:32 UTCslot 2026-08-19 04:30:00 UTC · attempt 1 | platform schedule | succeeded | 7 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 04:25:30 UTCslot 2026-08-19 04:25:00 UTC · attempt 1 | platform schedule | succeeded | 7 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
| 2026-08-19 04:20:29 UTCslot 2026-08-19 04:20:00 UTC · attempt 1 | platform schedule | succeeded | 7 ms | 0 | 0 | 0 | 0 | No customer's daily or monthly period had ended, so no limit counter was reset. Every live period keeps the spend already booked against it. USD 0.00 carried to history |
Sample book disclosure: the customer accounts, staff users and sanctions watchlist in this environment are seeded demonstration data created by this module — there is no connection to a real core banking system, payment scheme or sanctions feed. Batch (ACH-style) clearing and high-value wire settlement both run through this module's own SIMULATED settlement engine, never a real scheme or wire network.