Setyenv · Docs
  • English
  • Spanish
  • Chinese
  • Japanese
  • Arabic
  • German
  • French
  • Hindi
  • Indonesian
  • Italian
  • Dutch
  • Portuguese
  • Russian
  • Turkish

Queue system & execution monitoring

How WP-PFWorkflow schedules, executes, retries, and monitors workflow runs.

Execution lifecycle

  1. A workflow is triggered (manual, scheduled, webhook, WP hook, etc.)
  2. The trigger creates an execution record with status queued
  3. pfw_cron_tick picks up the job and sets status to running
  4. Each node executes in sequence; timeline events are recorded
  5. On completion: status → completed; on failure: status → failed
  6. On delay node: execution pauses, a resume job is enqueued for the future
  7. On approval gate: execution pauses with awaiting_approval

Execution states

StateMeaning
queuedWaiting to be picked up by the queue runner
startedQueue runner has claimed this execution
runningNodes are being executed
completedAll nodes finished successfully
failedA node failed and no error handler caught it
cancelledOperator cancelled the execution
stoppedA Stop node was reached intentionally
awaiting_approvalPaused at an Approval Gate
duplicateIdempotency check detected a duplicate

Monitoring executions

  • Editor: Click a workflow → "Executions" tab → see status, timeline, logs
  • REST: GET /pfw/v1/workflows/{id}/executions with filter params
  • Support package: GET /pfw/v1/workflows/{id}/executions/{eid}/support — full timeline + logs + replay data

Resuming and replaying

  • Resume from step: Continue a failed/cancelled execution from any node via POST /pfw/v1/workflows/{id}/executions/{eid}/resume
  • Replay: Replay a saved execution from a support package
  • Cancel: Stop a running execution via POST /pfw/v1/workflows/{id}/executions/{eid}/cancel

Dead Letter Queue (DLQ)

Outbound webhook requests that exhaust their retry budget (5 attempts) are moved to the DLQ (pfw_outbound_request_log table with status = dlq). You can inspect the DLQ via the outbound request log and manually retry or discard entries.