petitpress/gps-messenger-bundle
Google Pub/Sub transport for Symfony Messenger with zero extra dependencies beyond core Symfony and Pub/Sub libraries. Supports DSN and options config, automatic topic/subscription creation, message ordering via OrderingKeyStamp, dead letter policies, and keep-alive for long-running workers.
google/cloud-pubsub, choosing it is a soft commitment to Google Cloud — worth a deliberate decision, not a default.symfony/messenger. There is no native Laravel integration. In a Laravel codebase you would have to bolt on Symfony Messenger alongside the Laravel queue system — a real architectural cost. Verdict for Laravel teams: don't adopt; use laravel/framework queues with a GCP driver (e.g., a Pub/Sub queue connector) or the official Google Cloud PHP client directly.Consider adopting if:
symfony/messenger.Look elsewhere if:
For executives: "This is a small, free adapter that lets a Symfony application send and receive messages through Google Pub/Sub instead of us running our own message broker. Adopted narrowly, it removes roughly a week or two of plumbing and lets us prove an event-driven workflow quickly on GCP. The trade-offs are honest: it's a low-adoption open-source component with one primary maintainer, and it only fits Symfony — not Laravel. I recommend it as a prototype accelerant for a bounded use case, with a decision gate before anything customer-critical depends on it. If the prototype holds, we either harden a fork or move to a supported path; if it doesn't, we've spent days, not months."
For engineering: "It wraps a Symfony Messenger transport around the official google/cloud-pubsub SDK — serialization, retry, and basic error paths come largely for free. Use it to stand up a non-critical queue (e.g., notification dispatch) behind a feature flag, run it against the Pub/Sub emulator locally, and measure before committing. Known gaps to plan for: no first-class DLQ, ordering, or flow-control configuration; observability is essentially 'what Pub/Sub and Messenger give you'; and the google/cloud-pubsub dependency needs pinning to avoid surprise upgrades. Laravel teams: this is not our package — we'd be gluing Symfony Messenger into Laravel, and that's not worth it. Use a Pub/Sub-backed Laravel queue driver instead."
How can I help you explore Laravel packages today?