- Is handcraftedinthealps/redis-transport-bundle a Laravel package?
- No. It is a Symfony Messenger bundle, not a Laravel queue package. It ships a Symfony TransportFactory, DI extension, and container services, while Laravel uses Illuminate\Queue and its own connector contract. Do not expect it to plug into Laravel queues without an adapter.
- Is this package deprecated, and what should I use instead?
- Yes, the package is marked deprecated. The Redis transport has been part of symfony/messenger since 4.3, and the README says to use that implementation instead. For Laravel, use Laravel's Redis queue driver or a Laravel-native Redis Streams connector.
- Does this bundle work with Laravel queues or Horizon?
- Not out of the box. The bundle is wired for Symfony Messenger and Symfony's container, not Laravel's queue subsystem. Laravel features such as Horizon, queue:retry, queue:failed, and Queue::fake expect Laravel-native job payloads and will need shims or replacement.
- How do I install and configure it in a Symfony app?
- Install it with Composer, enable the bundle in a Symfony application, and configure a Messenger transport using the bundle's Redis DSN and options. Because it is deprecated, prefer the built-in Redis transport in symfony/messenger 4.3 or later. This configuration path does not apply to Laravel.
- Can I use Redis Streams consumer groups with Laravel's Redis queue driver?
- Laravel's Redis queue driver is list-based and uses commands such as LPUSH and BRPOP. It does not provide native Redis Streams consumer groups, acknowledgements, pending-entry tracking, or replay. Horizon adds observability and tooling, but not Redis Streams semantics.
- What Laravel versions and PHP versions does this package support?
- There is no Laravel version support to evaluate because this is a Symfony bundle. Check its composer.json and README for Symfony and PHP constraints rather than assuming Laravel compatibility. With six stars, zero dependents, and one maintainer, verify any test matrix before relying on it.
- What are the production risks of adapting this Symfony transport for Laravel?
- Expect high framework drift risk because Symfony Messenger internals can change across majors. The bus factor is high with one maintainer and no SLA. You also inherit Redis Streams operations such as consumer groups, pending entries list reclaim with XAUTOCLAIM, and stream trimming. Verify Redis Cluster and Sentinel behavior before production.
- How would I integrate it with Laravel if I really need Redis Streams?
- Do not install it as a Symfony bundle in Laravel. Depend on or vendor it only for the transport and connection classes, wrap them in a connector implementing Illuminate\Contracts\Queue\Queue, and register it with Queue::extend('redis-streams', ...) in a service provider. Keep the Laravel Redis connection separate and expect to shim serializer, retry, and failed-job behavior. A thin native connector using Redis Streams commands may be cheaper to own.
- Does it support Redis Cluster, Sentinel, or multiple consumer groups?
- The provided context does not confirm Redis Cluster or Sentinel support. Redis Streams multi-key operations and blocking XREADGROUP calls behave differently under cluster, so test those paths explicitly. Consumer groups and pending entries are core Redis Streams features, but the bundle's exact support and limits should be verified in its source or README.
- Is it worth using this package or reimplementing a Laravel Redis Streams connector?
- For a Laravel application, a thin Laravel-native Redis Streams connector or a better-adopted alternative is usually the safer choice. This bundle has weak adoption signals: six stars, zero dependents, and a single maintainer. Redis Streams primitives are roughly eight commands, so a 300 to 500 LOC connector may be cheaper to own than adapting Symfony abstractions. If you are on Symfony, use the built-in symfony/messenger Redis transport instead.