symfony/beanstalkd-messenger
Symfony Messenger transport for Beanstalkd. Send and consume messages via Beanstalkd queues using a Messenger-compatible transport with DSN configuration and worker support, ideal for lightweight background job processing in Symfony apps.
Illuminate\Queue. If you pick Messenger, this package is the cheapest possible way to get Beanstalkd as a transport.failed_jobs table integration, no queue:work event hooks, no dispatch() ergonomics. That is a roadmap-level trade, not a code-level one.Important caveat for a Laravel roadmap: for a conventional Laravel application this is not the right tool. Laravel ships a first-party Beanstalkd driver (via pda/pheanstalk) that plugs into the full queue ecosystem. This package targets Symfony Messenger's transport interface and only becomes relevant if you deliberately run Messenger inside Laravel (or in a sibling Symfony service). Treat "we use Laravel" as a near-disqualifier unless the Messenger decision is already made.
Consider it when:
Look elsewhere when:
failed_jobs, retries/backoff config, batching, and dispatch() — none of which this package provides.Adoption gate: require a spike proving (a) retry/dead-letter behavior on buried jobs, (b) observability via your existing APM, and (c) restart-durability posture — before it appears on a roadmap.
To executives: This is a small, MIT-licensed connector, not a platform bet. It costs almost nothing to trial and lets us keep our existing message broker instead of procuring a new one. The honest framing: it is a tactical choice that reduces infrastructure spend and vendor lock-in, but it sits in a niche ecosystem with a small community, and the underlying broker is mature-but-quiet. Recommend it as a scoped experiment behind a feature flag, with a named fallback (Laravel's native queues, or SQS), rather than as a multi-year standard.
To engineering: It is a transport adapter for Symfony Messenger — roughly a config-level integration, low code surface, low maintenance burden. The real cost is ecosystem, not code: we lose Laravel's queue tooling (Horizon, failed-job dashboards, dispatch ergonomics) and gain manual ownership of retries, dead-letter handling, and broker durability. If we are not already on Messenger, this package is a solution to a problem we don't have. If we are, it is the least-effort path to a working async pipeline and keeps the broker swappable later.
Recommendation: Explore-and-validate, don't standardize. Highest-value use case is a polyglot org consolidating on an existing Beanstalkd cluster; lowest-value use case is a greenfield Laravel product, where the native queue driver wins on tooling alone.
How can I help you explore Laravel packages today?