A parked task's timer fires when its deadline passes: the cron sweep loads every parked token whose deadline has elapsed and runs its timeout action. There is no way to fire that timer early, before the deadline (to escalate a task now instead of waiting for its one-day timeout, or to test a timer in development).
Proposed solution: make the timer due now and let the existing sweep fire it, rather than building a second firing path.
- An admin action ("Fire timer now") on a parked task in the instance dashboard sets the token's deadline to the current time and runs the sweep immediately, so the action fires in-request.
- Optionally an engine method (fireTimerNow) doing the same, for programmatic use.
This reuses the audited sweep (atomic claim, action dispatch, re-arm), so it stays exactly-once safe with no new firing logic. For a node with staged timers (the escalation ladder), each rung is its own timer token, so firing early means making the chosen timer due. Firing early runs the configured action early; it does not skip it.
Issue fork orchestra-3605419
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #4
mably commented