enqueue/gps
Google Pub/Sub transport for Enqueue, implementing the Queue Interop specification. Send and consume messages via Google Cloud Pub/Sub with a compatible PHP queue client. Part of the Enqueue ecosystem; docs and support available via the project site and Gitter.
enqueue/gps package aligns well with the Queue Interop specification, making it a natural fit for Laravel applications already leveraging Enqueue (e.g., via enqueue/laravel or enqueue/doctrine). It abstracts GCP Pub/Sub behind a standardized interface, reducing vendor lock-in while enabling cloud-native messaging.php artisan queue:work) via Enqueue’s adapters (e.g., enqueue/laravel).laravel-google-cloud-pubsub, this package is Enqueue-specific, requiring explicit Enqueue setup.serialize()) may be needed for complex payloads.RetryStrategy).google/cloud-pubsub) or other libraries like vlucas/phpdotenv for GCP auth?enqueue/laravel).enqueue/enqueue).google/cloud-pubsub (dependency of enqueue/gps).enqueue/doctrine (for Doctrine ORM integration) or enqueue/horizon (for Horizon monitoring).composer require enqueue/enqueue enqueue/gps google/cloud-pubsub
config/queue.php:
'connections' => [
'gps' => [
'driver' => 'gps',
'project_id' => env('GCP_PROJECT_ID'),
'key_file' => env('GCP_KEY_FILE_PATH'),
'topic' => env('QUEUE_TOPIC'),
'subscription' => env('QUEUE_SUBSCRIPTION'),
],
],
php artisan queue:work with Enqueue’s CLI:
vendor/bin/enqueue consume gps --memory-barrier=128 --sleep=3
enqueue/laravel).Illuminate\Bus\PendingDispatch).ack()).nack() or reject().enqueue/horizon).gps connection.subscription/backlog_messages).project_id, key_file, and topic names match across dev/stage/prod.roles/pubsub.publisher, roles/pubsub.subscriber).--verbose) for consumer logs.subscription/backlog_messages inHow can I help you explore Laravel packages today?