Ever struggled with delayed processing, lack of real-time feedback, or the inability to choose how and when your queue items run? What if you could hand-pick your message transport, control sync vs async execution, and build intelligent pipelines with built-in retries and failure handling? This is where Symfony Messenger steps in. It brings a modern, flexible, and battle-tested messaging system into your Drupal application.
Attendees should be familiar with Drupal services and the Queue API.
The Drupal Queue API is a powerful tool for deferred task execution. However, it has some limitations regarding real-time processing, transport flexibility, and runtime configuration. Enter the Symfony Messenger component—a robust message bus system now available to any Drupal developers through the Symfony Messenger (https://www.drupal.org/project/sm) module. In this session, we’ll explore how Symfony Messenger fills in the gaps left by the native Queue API, providing support for:
- Real-time and asynchronous processing
- Transport-agnostic message handling (e.g., RabbitMQ, Redis, Database)
- Middleware pipelines
- Built-in retry strategies
- Synchronous vs. asynchronous dispatch control
- Message deduplication and delay
We'll walk through real-world examples, demonstrate how to integrate Symfony Messenger into a Drupal application, and show how it can complement—or even replace—the traditional Queue API. Whether you’re handling API calls, background jobs, or event dispatching, Symfony Messenger opens up a new realm of scalability and control for your Drupal applications.
- Understand the limitations of Drupal's core Queue API. Learn how the Symfony Messenger component enhances message handling in Drupal
- Discover practical use cases: API consumption, background jobs, decoupled workflows. See code-level examples of integrating Messenger into Drupal 11
- Decide when to use Symfony Messenger vs. the core Queue API
- Gain insight into real-time processing and transport-based messaging
