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 until key naming a process variable. When set it takes precedence over duration and anchor (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

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 7828dcdc on 1.x
    feat: #3605377 Add an "until" timer mode: deadline from a process...
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.

Status: Fixed » Closed (fixed)

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