Add queue worker for fire-and-forget workflow execution
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3571274. --> Reported by: [joevagyok](https://www.drupal.org/user/2876343) >>> <h3>Summary</h3> <p>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.</p> <h3>Business Value</h3> <ul> <li>Enables non-blocking workflow spawning for background tasks</li> <li>Leverages Drupal's queue system for reliable execution</li> <li>Supports high-throughput scenarios by deferring work to cron</li> <li>Prevents parent workflow timeout when spawning long-running tasks</li> </ul> <h3>Technical Implementation</h3> <ul> <li>Queue name: <code>workflow_executor_queue</code></li> <li>Cron time allocation: 120 seconds per run</li> <li>Creates playground session for each queued workflow</li> <li>Triggers workflow execution via PlaygroundService</li> <li>Preserves parent context for recursion tracking</li> </ul> <h3>Queue Item Structure</h3> <ul> <li><code>workflow_id</code>: The workflow to execute</li> <li><code>input_data</code>: Input data for the workflow</li> <li><code>parent_context</code>: Execution depth and workflow chain for safety</li> </ul> <h3>Use Cases</h3> <ul> <li>Send notifications without blocking the main workflow</li> <li>Spawn cleanup tasks after primary processing completes</li> <li>Trigger downstream workflows in event-driven architectures</li> <li>Batch spawn multiple independent workflows</li> </ul>
issue