Cloud Tasks queue driver for Laravel apps running inside Google App Engine.
firevel/cloud-tasks-queue-driver is a Laravel package for cloud tasks queue driver for laravel apps running inside google app engine..
It currently has 4 GitHub stars and 12.326 downloads on Packagist (latest version 0.1.1).
Install it with composer require firevel/cloud-tasks-queue-driver.
Discover more Laravel packages by firevel
or browse all Laravel packages to compare alternatives.
Last updated
A Laravel queue driver for Google Cloud Tasks, enabling serverless job processing for applications running on Google App Engine or Google Cloud Run.
Compatible with both Firevel and standard Laravel applications.
composer require firevel/cloud-tasks-queue-driver
The package auto-discovers and registers itself via Laravel's package discovery.
Add the connection to your config/queue.php:
'connections' => [
'cloudtasks' => [
'driver' => 'cloudtasks',
'project' => env('GOOGLE_CLOUD_PROJECT'),
'location' => env('CLOUD_TASKS_LOCATION', 'us-central1'),
'queue_name' => env('CLOUD_TASKS_QUEUE', 'default'),
'route' => env('CLOUD_TASKS_ROUTE', '/_cloudtasks'),
// App Engine specific (optional)
'service' => env('GAE_SERVICE'),
'version' => env('GAE_VERSION'),
// Cloud Run specific (optional)
'url' => env('CLOUD_TASKS_URL'),
],
],
Set your default queue connection in .env:
QUEUE_CONNECTION=cloudtasks
CLOUD_TASKS_LOCATION=us-central1
Note: The
locationmust match your App Engine or Cloud Run region.
| Option | Description |
|--------|-------------|
| project | Google Cloud project ID |
| location | Cloud Tasks queue location (must match your compute region) |
| queue_name | Default queue name |
| route | HTTP endpoint path for task callbacks |
| service | App Engine service name (auto-detected from GAE_SERVICE) |
| version | App Engine version (auto-detected from GAE_VERSION) |
| url | Custom URL for Cloud Run or when behind a proxy/load balancer |
Create a queue using gcloud:
gcloud tasks queues create default
Or via queue.yaml:
queue:
name: default
rate: 500/s
See the Cloud Tasks documentation for advanced queue configuration.
Use Laravel's standard queue API:
// Dispatch a job
dispatch(new ProcessOrder($order));
// Dispatch with delay
dispatch(new ProcessOrder($order))->delay(now()->addMinutes(5));
// Dispatch to a specific queue
dispatch(new ProcessOrder($order))->onQueue('orders');
MIT