Summary

Add a queue worker that processes fire-and-forget workflow executions. This enables truly asynchronous workflow execution where the parent workflow doesn't wait or track the child workflow's completion.

Business Value

  • Enables non-blocking workflow spawning for background tasks
  • Leverages Drupal's queue system for reliable execution
  • Supports high-throughput scenarios by deferring work to cron
  • Prevents parent workflow timeout when spawning long-running tasks

Technical Implementation

  • Queue name: workflow_executor_queue
  • Cron time allocation: 120 seconds per run
  • Creates playground session for each queued workflow
  • Triggers workflow execution via PlaygroundService
  • Preserves parent context for recursion tracking

Queue Item Structure

  • workflow_id: The workflow to execute
  • input_data: Input data for the workflow
  • parent_context: Execution depth and workflow chain for safety

Use Cases

  • Send notifications without blocking the main workflow
  • Spawn cleanup tasks after primary processing completes
  • Trigger downstream workflows in event-driven architectures
  • Batch spawn multiple independent workflows

Comments

joevagyok created an issue. See original summary.

gxleano’s picture

I have contributed (not only by code, but discussion, presentation, testing or anything related).

d34dman’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.