Optionalcontext: JobStateif the job is created/deleted/created with the same key, the 'gid' ensures no stale messages (such as sleep delays) enter the workstream. Any message with a mismatched gid belongs to a prior job and can safely be ignored/dropped.
OptionalmsgGID: stringExecutes the 3-step Leg1 protocol for Category B activities (Leg1-only with children, e.g., Hook passthrough, Signal, Interrupt-another). Uses the incoming Leg1 message GUID as the GUID ledger key.
Step A: setState + notarizeLeg1Completion + step1 markers (transaction 1) Step B: publish children + step2 markers + setStatusAndCollateGuid (transaction 2) Step C: if edge → runJobCompletionTasks + step3 markers + finalize (transaction 3)
true if this transition caused the job to complete
Executes the 3-step Leg2 protocol using GUID ledger for crash-safe resume. Each step bundles durable writes with its concluding digit update in a single transaction.
true if this transition caused the job to complete
Extracts the job status from the last result of a transaction. Used by subclass Leg1 process methods for telemetry.
Extracts the thresholdHit value from transaction results. The setStatusAndCollateGuid result is the last item.
Optionaltransaction: ProviderTransactionOptionaltransaction: ProviderTransaction
Terminates a flow by sending an interrupt signal. The
interruptactivity can target the current flow (self-interrupt) or any other flow by its job ID (remote interrupt). Interrupted jobs have their status set to a value less than -100,000,000, indicating abnormal termination.YAML Configuration — Self-Interrupt
When no
targetis specified, the activity interrupts the current flow. The flow terminates immediately after this activity executes. Use conditional transitions to route to an interrupt only when needed.YAML Configuration — Remote Interrupt
When
targetis specified, the activity interrupts another flow while the current flow continues to transition to adjacent activities.Configuration Properties
target@pipeexpressions.topicreason'Job Interrupted'throwtrueJobInterruptederrordescendfalsecode410stackExecution Model
target): Category C. Verifies entry, maps job data, sets status to -1, and fires the interrupt. No children.target): Category B. Fires the interrupt best-effort, then usesexecuteLeg1StepProtocolto transition to adjacent activities.See
InterruptActivity for the TypeScript interface