- Is genesis-global/gps-messenger-bundle a Laravel package or a Symfony bundle?
- It is a Symfony bundle, not a Laravel package. It provides a Google Cloud Pub/Sub transport for Symfony Messenger and wires services, configuration, and dependency injection through the Symfony container. Laravel's queue abstraction is Illuminate\Queue, which this bundle does not target or implement. If you are on Laravel, adopting it means running a parallel Symfony Messenger stack rather than plugging into Laravel queues.
- How do I install and register gps-messenger-bundle in a Symfony application?
- Install it with Composer using composer require genesis-global/gps-messenger-bundle. Then enable the bundle in your Symfony bundles configuration, which is config/bundles.php on Symfony 4 and 5 applications. After that, configure the Pub/Sub transport under the messenger transport settings and supply your Google Cloud credentials. Because it is a fork, the namespace and API surface match the upstream bundle.
- What PHP and Symfony versions does this Pub/Sub messenger bundle support?
- The fork's stated differentiator is PHP 7.3 support, which means it targets Symfony 4.4 and 5.x era applications. PHP 7.3 reached end of life in December 2021, so running it means running an unsupported runtime. Confirm the exact Symfony and PHP constraints in the package's composer.json before committing, because the metadata does not show a broad compatibility matrix.
- How do I configure the Google Pub/Sub transport in Symfony Messenger?
- You register a Messenger transport that reads and writes Google Cloud Pub/Sub topics and subscriptions, then point your messenger routing at that transport. The bundle supplies the service definitions and serializer and worker wiring, so most of the work is configuration and credentials rather than code. You will need a GCP project, a topic, a subscription, and service account credentials with Pub/Sub permissions. Keep Pub/Sub-specific settings out of domain code so Messenger middleware handles retries and failures.
- Can I use gps-messenger-bundle as a Laravel queue driver?
- No. The bundle does not implement Laravel's queue contracts, so Laravel job dispatch, workers, retries, and failed-job handling will not use it. Using it in Laravel means importing symfony/messenger and the bundle service provider and running a separate messaging stack beside Laravel's own queues. That is an architectural fork, not an integration detail, and it is usually more expensive than a native driver.
- What are the alternatives to this bundle for Pub/Sub messaging in Laravel?
- For most Laravel applications the cheaper and better-supported choice is a native queue driver such as Redis, SQS, or the database driver. If you specifically need Google Cloud Pub/Sub, write or adopt a purpose-built Laravel queue connector against the Pub/Sub SDK instead of running Symfony Messenger alongside Laravel. Only choose this bundle when the stack decision is explicitly Symfony Messenger plus Pub/Sub.
- Is gps-messenger-bundle actively maintained and safe for production?
- The maintenance signal is weak: zero stars, zero dependents, and a single release dated 2021-08-20, with no visible CI, security review, or release notes. There is no merge cadence with upstream, so security and Pub/Sub API fixes will not flow to you automatically. Production use means accepting the patch obligation yourself and having an owner inside your organization. Treat it as a vendor-specific republish rather than an independently developed package.
- How is this fork different from petitpress/gps-messenger-bundle upstream?
- The only stated difference is PHP 7.3 support, which keeps a legacy runtime alive after upstream moved its minimum version forward. There is no feature delta and no bugfix delta, and the code is a republish of the upstream bundle with an identical namespace and API surface. Prefer consuming upstream at a version compatible with your actual runtime whenever that is possible.
- How do retries, failed messages, and duplicate delivery work with this Pub/Sub transport?
- Retry logic, failure transports, and middleware behavior come from Symfony Messenger, not from Pub/Sub itself, so you configure them through Messenger. Pub/Sub delivery is typically at-least-once, so your consumer code must tolerate duplicate messages. Decide explicitly whether you need at-least-once or exactly-once semantics before you build handlers. Also confirm the worker and serializer wiring fits your message format.
- What should I review before adopting this bundle on a legacy PHP 7.3 application?
- First confirm whether the target stack is Symfony or Laravel, because a Symfony bundle does not slot into Laravel queues. Then identify the concrete business constraint forcing PHP 7.3 and whether a dated exit plan precedes your dependency on this fork. Check who owns patching the fork if upstream or the vendor goes quiet, and whether you can use upstream instead. Finally, document the decision and the Pub/Sub standardization rationale rather than assuming it.