- Does keboola/messenger-bundle work with Laravel?
- No, it is a Symfony bundle rather than a Laravel package. It wires transports in DependencyInjection\KeboolaMessengerExtension::prependExtension(), and Laravel does not run Symfony's extension lifecycle, so the bundle is effectively inert in a Laravel app. You can run a Symfony service alongside Laravel and share the queue, port the serializers and factories into Laravel-native consumers, or use the package only if your organization is already on Symfony.
- How do I install keboola/messenger-bundle?
- Install it with Composer using composer require keboola/messenger-bundle. In a Symfony application you then register the bundle and provide the Keboola messenger configuration so the extension can prepend framework.messenger transport settings. In Laravel, Composer installation alone will not register services or transports because there is no service provider or publishable config.
- How does keboola/messenger-bundle register transports and handlers?
- The bundle uses autoconfiguration and its Symfony extension to register services, message handlers, transports, and routing from configuration. The extension injects framework.messenger transport configuration during prependExtension(), before FrameworkBundle compiles the container. This is why the bundle depends on Symfony's container compilation lifecycle rather than Laravel's service provider bootstrapping.
- Can I reuse the Keboola serializers and event factories in Laravel without the bundle?
- That is the most plausible Laravel path if the classes are framework-light. The serializers unwrap cloud-specific envelopes such as SNS/SQS bodies, Event Grid, and Pub/Sub payloads, then hand data to AuditEventFactory or ApplicationEventFactory. Before committing, verify whether those classes can be instantiated directly or whether they resolve collaborators from the Symfony container, because that determines portability.
- Which Symfony versions does keboola/messenger-bundle support?
- The package is a Symfony bundle, so its supported Symfony versions are defined by its composer.json constraints rather than by Laravel framework versions. Check the composer.json in the tagged release and verify it against your Symfony runtime before installing. The package does not declare Laravel framework support, and its extension lifecycle will not run in a standard Laravel application.
- Is keboola/messenger-bundle safe to use in production?
- Treat it as a Keboola-internal library published for Composer install rather than a community-maintained component. It has zero stars, zero dependents, and releases are tied to Keboola's monorepo CI health, so pin versions and verify tags directly. For Laravel production use, it is not directly usable because the Symfony-only integration seam does not execute.
- Why are my Keboola messenger transports not registering in Laravel?
- Laravel does not execute Symfony's prependExtension() or Extension container lifecycle, so the bundle never injects framework.messenger transport configuration. There is also no Laravel service provider or config/*.php file to publish. You need a Symfony kernel or custom Laravel wiring that registers the relevant services and transport factories yourself.
- What changed in keboola/messenger-bundle 3.4.0 regarding gps transport timeouts?
- Version 3.4.0 changed GpsTransportFactoryDecorator so the default 120-second REST timeout and 10-second connect timeout apply to all gps:// transports, not only those it previously touched. The stated motive is to stop Pub/Sub consumers hanging indefinitely on half-open connections during long-poll pulls. This is an upgrade-time behavior change, so pin versions and re-read the decorator on every upgrade.
- Can upgrading keboola/messenger-bundle change event types in my handlers?
- Yes, that is a latent upgrade hazard. The factories always return an EventInterface and fall back to GenericAuditLogEvent or GenericApplicationEvent for unknown names. An upgrade can silently promote an event from generic to typed, which is a breaking change for any handler that matches on type.
- How do I contribute a patch or fork to keboola/messenger-bundle?
- The GitHub repository is a read-only mirror that is force-pushed on every green monorepo build, so forks and local patches against it are destroyed. Contributions must target keboola/platform-libraries under libs/messenger-bundle/ using Conventional Commits scoped as fix(messenger-bundle): ... This non-obvious path constrains your ability to carry local patches.