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

Command icon 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

mably created an issue. See original summary.

  • mably committed 6e5ede0e on 1.x
    feat: #3605419 Add a "Fire timer now" action to trigger a parked task...
mably’s picture

Status: Active » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

  • mably committed b1acf870 on 1.x
    fix: #3605419 Offer 'Fire timer now' only on live tokens
    
    By: mably
    

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.