Issue #3605419: Add a "Fire timer now" action to trigger a parked task timer early
Adds a way to fire a parked task's timer now, before its deadline.
A timer fires when its deadline passes on the cron sweep. Sometimes you want it now: escalate a task instead of waiting for its one-day timeout, or test a timer in development.
What changed
TimeoutSweep::fireNow($token)runs the same timeout action (or staged timer-rung action) the sweep would, against the given token, immediately. It reuses the sweep's transactional fire path inside the engine batch context, so it is exactly-once safe and there is no second firing code path. Firing early runs the action early; it does not skip it.- The
orchestra_uiinstance page shows a Fire timer now action on any token carrying a deadline - a parked task's timeout, or an armed timer token (a staged-ladder rung). Same permission and CSRF protection as the existing Signal action.
Tests
Kernel coverage: fireNow() resumes a task down its timeout branch before the deadline elapses, with no cron run. phpcs and cspell clean.