Orchestra timers are relative today: a timeout is a duration measured from an anchor (park, instance or node), so the deadline is "now plus a length". Some processes need to wait until an absolute moment known only at runtime and held in a process variable: authorize a deposit a fixed lead time before arrival, or remind two days before a slot. There is no way to wait until a date.
Proposed solution: add an until timer mode whose deadline is an absolute timestamp read from a process variable.
- A node timeout gains an optional
untilkey naming a process variable. When set it takes precedence overdurationandanchor(which describe a relative window): the parked token's deadline becomes the timestamp held in that variable, and Orchestra's existing timer cron resumes it exactly as for a duration timeout. So the workflow is simply Wait (until that date) then the next step. - The variable may hold a unix timestamp or an ISO-8601 datetime string (parsed as UTC). A missing or unparsable value parks the task with no deadline and logs a warning; a value already in the past resumes on the next cron sweep.
- The deadline is fixed when the token parks, consistent with duration timeouts: changing the variable later does not move a deadline unless the node re-parks.
This rides the existing absolute-deadline machinery (a parked token already carries a unix deadline the sweep resumes), so it is a localized addition at the deadline-computation seam plus the editor field, not a new mechanism, and is reusable for anything date-anchored.
Issue fork orchestra-3605377
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