PHPackages                             stackkit/laravel-google-cloud-tasks-queue - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Queues &amp; Workers](/categories/queues)
4. /
5. stackkit/laravel-google-cloud-tasks-queue

ActiveLibrary[Queues &amp; Workers](/categories/queues)

stackkit/laravel-google-cloud-tasks-queue
=========================================

Google Cloud Tasks queue driver for Laravel

v6.0.0(3mo ago)89677.2k↑13.4%45[1 PRs](https://github.com/stackkit/laravel-google-cloud-tasks-queue/pulls)MITPHPPHP ^8.1CI failing

Since Jun 17Pushed 2mo ago2 watchersCompare

[ Source](https://github.com/stackkit/laravel-google-cloud-tasks-queue)[ Packagist](https://packagist.org/packages/stackkit/laravel-google-cloud-tasks-queue)[ GitHub Sponsors](https://github.com/marickvantuil)[ RSS](/packages/stackkit-laravel-google-cloud-tasks-queue/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (10)Dependencies (18)Versions (81)Used By (0)

Cloud Tasks Queue Driver for Laravel
====================================

[](#cloud-tasks-queue-driver-for-laravel)

[![Run tests](https://github.com/stackkit/laravel-google-cloud-tasks-queue/actions/workflows/run-tests.yml/badge.svg)](https://github.com/stackkit/laravel-google-cloud-tasks-queue/actions/workflows/run-tests.yml)
[![Latest Stable Version](https://camo.githubusercontent.com/3e0ac959c6a79932804773f9a7aaaab8d90bba50d2ffd0211fe754f0ac86dbfe/68747470733a2f2f706f7365722e707567782e6f72672f737461636b6b69742f6c61726176656c2d676f6f676c652d636c6f75642d7461736b732d71756575652f762f737461626c652e737667)](https://packagist.org/packages/stackkit/laravel-google-cloud-tasks-queue)
[![Downloads](https://camo.githubusercontent.com/d597f6becd2723ff25c273c5c66922cf11faf9cbd826085526dfeeefe85b8b53/68747470733a2f2f706f7365722e707567782e6f72672f737461636b6b69742f6c61726176656c2d676f6f676c652d636c6f75642d7461736b732d71756575652f646f776e6c6f6164732e737667)](https://packagist.org/packages/stackkit/laravel-google-cloud-tasks-queue)

This package allows you to use Google Cloud Tasks as the queue driver in your Laravel application.

Companion packages: [Cloud Scheduler](https://github.com/stackkit/laravel-google-cloud-scheduler), [Cloud Logging](https://github.com/marickvantuil/laravel-google-cloud-logging)

[![Image](https://private-user-images.githubusercontent.com/647007/420663387-d9af0938-43b7-407b-8791-83419420a62b.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODI5NDM1OTgsIm5iZiI6MTc4Mjk0MzI5OCwicGF0aCI6Ii82NDcwMDcvNDIwNjYzMzg3LWQ5YWYwOTM4LTQzYjctNDA3Yi04NzkxLTgzNDE5NDIwYTYyYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzAxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcwMVQyMjAxMzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05ZTYxMWMwYTlhNzNiMzAyMWNjMWVjMmFkMzYyYzRkMmM5MzgzNWQ5NjI5MDMzYTgxOTNkNjhkNTdkOTBjMjk3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.t9hVxXnlbk66hhtH99FlnaZld8x-yaw_XzEp2XhcU18)](https://private-user-images.githubusercontent.com/647007/420663387-d9af0938-43b7-407b-8791-83419420a62b.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODI5NDM1OTgsIm5iZiI6MTc4Mjk0MzI5OCwicGF0aCI6Ii82NDcwMDcvNDIwNjYzMzg3LWQ5YWYwOTM4LTQzYjctNDA3Yi04NzkxLTgzNDE5NDIwYTYyYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzAxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcwMVQyMjAxMzhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05ZTYxMWMwYTlhNzNiMzAyMWNjMWVjMmFkMzYyYzRkMmM5MzgzNWQ5NjI5MDMzYTgxOTNkNjhkNTdkOTBjMjk3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.t9hVxXnlbk66hhtH99FlnaZld8x-yaw_XzEp2XhcU18)

### Requirements

[](#requirements)

This package requires Laravel 12 or 13.

### Installation

[](#installation)

Require the package via Composer:

```
composer require stackkit/laravel-google-cloud-tasks-queue
```

Add a new queue connection to `config/queue.php`:

```
'cloudtasks' => [
  'driver' => 'cloudtasks',
  'project' => env('CLOUD_TASKS_PROJECT', ''),
  'location' => env('CLOUD_TASKS_LOCATION', ''),
  'queue' => env('CLOUD_TASKS_QUEUE', 'default'),

  // Required when using App Engine
  'app_engine'            => env('APP_ENGINE_TASK', false),
  'app_engine_service'    => env('APP_ENGINE_SERVICE', ''),

  // Required when not using App Engine
  'handler'               => env('CLOUD_TASKS_HANDLER', ''),
  'service_account_email' => env('CLOUD_TASKS_SERVICE_EMAIL', ''),

  'backoff' => 0,
  'after_commit' => false,
  // Enable this if you want to set a non-default Google Cloud Tasks dispatch timeout
  //'dispatch_deadline' => 1800, // in seconds
],
```

Set the appropriate environment variables:

```
QUEUE_CONNECTION=cloudtasks
```

If you're using Cloud Run:

```
CLOUD_TASKS_PROJECT=my-project
CLOUD_TASKS_LOCATION=europe-west6
CLOUD_TASKS_QUEUE=barbequeue
CLOUD_TASKS_SERVICE_EMAIL=my-service-account@appspot.gserviceaccount.com
# Optional (when using a separate task handler):
CLOUD_TASKS_SERVICE_HANDLER=
```

If you're using App Engine:

```
CLOUD_TASKS_PROJECT=my-project
CLOUD_TASKS_LOCATION=europe-west6
CLOUD_TASKS_QUEUE=barbequeue
APP_ENGINE_TASK=true
APP_ENGINE_SERVICE=my-service
```

Refer to the table below for descriptions of each value:

Environment VariableDescriptionExample`CLOUD_TASKS_PROJECT`The project your queue belongs to.`my-project``CLOUD_TASKS_LOCATION`The region where the project is hosted.`europe-west6``CLOUD_TASKS_QUEUE`The default queue to which a job will be added.`emails`**App Engine**`APP_ENGINE_TASK` (optional)Set to true to use an App Engine task (otherwise an HTTP task will be used). Defaults to false.`true``APP_ENGINE_SERVICE` (optional)The App Engine service that will handle the task (only if using App Engine tasks).`api`**Non-App Engine Apps**`CLOUD_TASKS_SERVICE_EMAIL` (optional)The service account's email address. It must have the required roles (see below).`my-service-account@appspot.gserviceaccount.com``CLOUD_TASKS_HANDLER` (optional)The URL that Cloud Tasks will call to process a job. Should point to your Laravel app. Defaults to the URL that dispatched the job.`https://.com`---

Optionally, you may publish the config file:

```
php artisan vendor:publish --tag=cloud-tasks
```

If you're using separate services for dispatching and handling tasks, and your app should only dispatch jobs (not handle them), you may disable the task handler in `config/cloud-tasks.php`:

```
'disable_task_handler' => env('CLOUD_TASKS_DISABLE_TASK_HANDLER', false),
```

### Cloud Run Jobs

[](#cloud-run-jobs)

If you want jobs to be processed by Cloud Run Jobs instead of HTTP endpoints, you can configure the queue to trigger Cloud Run Job executions.

#### Why Cloud Run Jobs?

[](#why-cloud-run-jobs)

Cloud Run Jobs are ideal for long-running batch processing that exceeds Cloud Tasks HTTP timeout limits.

Cloud Run Jobs can run for up to 7 days.

**Tip**: Use seperate queue connections with different targets, for low latency jobs, use HTTP targets, for longer running batch jobs use Cloud Run Jobs.

#### Setup

[](#setup)

1. **Create a Cloud Run Job** with your Laravel application container, configured to run:

```
php artisan cloud-tasks:work-job
```

The command reads job data from environment variables passed to the Job by Cloud Run.

2. **Configure your queue connection**:

```
'cloudtasks' => [
    'driver' => 'cloudtasks',
    'project' => env('CLOUD_TASKS_PROJECT'),
    'location' => env('CLOUD_TASKS_LOCATION'),
    'queue' => env('CLOUD_TASKS_QUEUE', 'default'),

    // Cloud Run Job configuration
    'cloud_run_job' => env('CLOUD_TASKS_USE_CLOUD_RUN_JOB', false),
    'cloud_run_job_name' => env('CLOUD_RUN_JOB_NAME'),
    'cloud_run_job_region' => env('CLOUD_RUN_JOB_REGION'), // defaults to location
    'service_account_email' => env('CLOUD_TASKS_SERVICE_EMAIL'),

    // Optional: Store large payloads (>10KB) in filesystem
    'payload_disk' => env('CLOUD_TASKS_PAYLOAD_DISK'), // Laravel disk name
    'payload_prefix' => env('CLOUD_TASKS_PAYLOAD_PREFIX', 'cloud-tasks-payloads'),
    'payload_threshold' => env('CLOUD_TASKS_PAYLOAD_THRESHOLD', 10240), // bytes
],
```

> **Note**: The command reads `CLOUD_TASKS_PAYLOAD`, `CLOUD_TASKS_TASK_NAME`, and `CLOUD_TASKS_PAYLOAD_PATH` directly from environment variables at runtime using `getenv()`. These are set automatically by Cloud Tasks via container overrides.

3. **Set environment variables**:

```
CLOUD_TASKS_USE_CLOUD_RUN_JOB=true
CLOUD_RUN_JOB_NAME=my-queue-worker-job
CLOUD_RUN_JOB_REGION=europe-west1
```

#### Large Payload Storage

[](#large-payload-storage)

For jobs with payloads exceeding environment variable limits (32KB limit enforced by Cloud Run), configure a Laravel filesystem disk:

```
CLOUD_TASKS_PAYLOAD_DISK=gcs
CLOUD_TASKS_PAYLOAD_PREFIX=cloud-tasks-payloads
CLOUD_TASKS_PAYLOAD_THRESHOLD=30000
```

When the payload exceeds the threshold, it's stored in the disk and `CLOUD_TASKS_PAYLOAD_PATH` is used instead.

> **Note**: The payloads will not be cleared up automatically, you can define lifecycle rules for the GCS bucket to delete old payloads.

#### How It Works

[](#how-it-works)

When you dispatch a job with Cloud Run Job target enabled:

1. Package creates a Cloud Task with HTTP target pointing to Cloud Run Jobs API
2. Cloud Tasks calls `run.googleapis.com/v2/.../jobs/{job}:run`
3. Cloud Run Jobs starts a new execution with environment variables set via container overrides:
    - `CLOUD_TASKS_PAYLOAD` - Base64-encoded job payload
    - `CLOUD_TASKS_TASK_NAME` - The task name
4. The container runs `php artisan cloud-tasks:work-job` which reads the env vars and processes the job

All Laravel queue functionality is retained:

- Job retries and max attempts
- Failed job handling
- Job timeouts
- Encrypted jobs
- Queue events

#### Required IAM Permissions

[](#required-iam-permissions)

Cloud Run Jobs requires specific IAM permissions. Set these variables first:

```
export PROJECT_ID="your-project-id"
export SA_EMAIL="your-service-account@your-project-id.iam.gserviceaccount.com"
export TASKS_AGENT="service-{PROJECT_NUMBER}@gcp-sa-cloudtasks.iam.gserviceaccount.com"
```

> **Note**: Find your Cloud Tasks service agent email in the IAM console under "Include Google-provided role grants". **Note**: Project ID and Project Number are different. Project ID is the name of your project, Project Number is the numeric ID of your project.

**Project-Level Permissions:**

```
# Allow enqueuing tasks (required by PHP app running as $SA_EMAIL)
gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member="serviceAccount:$SA_EMAIL" \
    --role="roles/cloudtasks.enqueuer"

# Allow executing jobs with overrides (required for container overrides)
gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member="serviceAccount:$SA_EMAIL" \
    --role="roles/run.jobsExecutorWithOverrides"

# Allow invoking Cloud Run Services (if also using Cloud Run Services as HTTP targets)
gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member="serviceAccount:$SA_EMAIL" \
    --role="roles/run.invoker"
```

**Note**: To restrict access to specific Cloud Run instances, use IAM conditions to limit access to specific Cloud Run Jobs / services.

**Service Account Permissions:**

```
# Allow the SA to act as itself (required for task creation and execution)
gcloud iam service-accounts add-iam-policy-binding $SA_EMAIL \
    --member="serviceAccount:$SA_EMAIL" \
    --role="roles/iam.serviceAccountUser"

# Allow Cloud Tasks to act as the SA (required for OAuth token generation)
gcloud iam service-accounts add-iam-policy-binding $SA_EMAIL \
    --member="serviceAccount:$TASKS_AGENT" \
    --role="roles/iam.serviceAccountUser"
```

PermissionRequired ByPurpose`cloudtasks.enqueuer`PHP AppAdd tasks to the queue`cloudtasks.viewer`Cloud Run JobList queues/tasks (optional)`run.jobsExecutorWithOverrides`Cloud TaskExecute jobs with container overrides`run.invoker`Other WorkloadsInvoke Cloud Run Services (if using HTTP targets)`iam.serviceAccountUser` (on SA)BothAllow SA to create tasks as itself`iam.serviceAccountUser` (Tasks Agent)Google InfrastructureGenerate OAuth tokens for Cloud Run### How-To

[](#how-to)

#### Pass headers to a task

[](#pass-headers-to-a-task)

You can pass headers to a task using the `setTaskHeadersUsing` method on the `CloudTasksQueue` class:

```
use Stackkit\LaravelGoogleCloudTasksQueue\CloudTasksQueue;

CloudTasksQueue::setTaskHeadersUsing(static fn() => [
  'X-My-Header' => 'My-Value',
]);
```

You can also access the payload being dispatched:

```
CloudTasksQueue::setTaskHeadersUsing(static fn(array $payload) => [
  'X-My-Header' => $payload['displayName'],
]);
```

#### Configure the task handler URL

[](#configure-the-task-handler-url)

Set the handler URL for a task using the `configureHandlerUrlUsing` method:

```
CloudTasksQueue::configureHandlerUrlUsing(static fn() => 'https://example.com/my-url');
```

Or access the job being dispatched:

```
CloudTasksQueue::configureHandlerUrlUsing(static fn(MyJob $job) => 'https://example.com/my-url/' . $job->something());
```

#### Configure worker options

[](#configure-worker-options)

Customize worker options using the `configureWorkerOptionsUsing` method:

```
use Stackkit\LaravelGoogleCloudTasksQueue\IncomingTask;

CloudTasksQueue::configureWorkerOptionsUsing(function (IncomingTask $task) {
    $queueTries = [
        'high' => 5,
        'low' => 1,
    ];

    return new WorkerOptions(maxTries: $queueTries[$task->queue()] ?? 1);
});
```

#### Use a custom credentials file

[](#use-a-custom-credentials-file)

Edit the `client_options` key in `config/cloud-tasks.php`:

```
'client_options' => [
    'credentials' => '/path/to/credentials.json',
]
```

#### Modify CloudTasksClient options

[](#modify-cloudtasksclient-options)

Edit the `client_options` key in `config/cloud-tasks.php`:

```
'client_options' => [
    // Custom options here
]
```

### How it works &amp; differences

[](#how-it-works--differences)

Using Cloud Tasks as a Laravel queue driver is fundamentally different from other drivers like Redis.

With Redis or similar drivers, a worker listens for jobs via `queue:work` or `queue:listen`.
With Cloud Tasks, jobs are scheduled and dispatched via HTTP requests to your app.
There’s no need to run `queue:work` or `queue:listen`.

### Good to Know

[](#good-to-know)

Cloud Tasks has its own retry configuration options like:

- Maximum number of attempts
- Retry duration
- Min/max backoff
- Max doublings

These are ignored by this package. Instead, you can configure retry behavior directly in Laravel.

### Authentication

[](#authentication)

If you're not using your master service account (which has all abilities), assign the following roles to your service account to make it working:

1. App Engine Viewer
2. Cloud Tasks Enqueuer
3. Cloud Tasks Viewer
4. Cloud Tasks Task Deleter
5. Service Account User

### Upgrading

[](#upgrading)

See [UPGRADING.MD](UPGRADING.md) for instructions on updating versions.

### Troubleshooting

[](#troubleshooting)

#### `HttpRequest.url` must start with `https://`

[](#httprequesturl-must-start-with-https)

This can occur when your application runs behind a reverse proxy.
To resolve it, add your app’s domain to Laravel’s [trusted proxies](https://laravel.com/docs/11.x/requests#trusting-all-proxies).
You may need to use the wildcard `*`.

#### `Maximum call stack size (zend.max_allowed_stack_size - zend.reserved_stack_size) reached. Infinite recursion?`

[](#maximum-call-stack-size-zendmax_allowed_stack_size---zendreserved_stack_size-reached-infinite-recursion)

This seems to be a bug in PHP 8.3 and `googleapis/gax-php`.
See [this issue](https://github.com/googleapis/gax-php/issues/584) for details.

A possible workaround is to disable the PHP 8.3 stack limit in `php.ini`:

```
zend.max_allowed_stack_size=-1
```

### Contributing

[](#contributing)

You can use the services defined in `docker-compose.yml` to run the package locally.

Inside the container:

1. Run `composer install`
2. Set up the environment: `cp .env.example .env`

Some tests use the Cloud Tasks API and require a project and credentials.
Set the appropriate variables in your `.env`.

###  Health Score

65

—

FairBetter than 99% of packages

Maintenance84

Actively maintained with recent releases

Popularity55

Moderate usage in the ecosystem

Community25

Small or concentrated contributor base

Maturity80

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 85.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~27 days

Recently: every ~11 days

Total

77

Last Release

95d ago

Major Versions

1.x-dev → v2.0.02020-10-11

2.x-dev → v3.0.0-beta12022-03-06

3.x-dev → v4.0.0-beta.12024-03-31

v4.3.1 → v5.0.0-beta.12025-03-06

v5.3.0 → v6.0.02026-03-30

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/29707314?v=4)[Stackkit](/maintainers/stackkit)[@stackkit](https://github.com/stackkit)

---

Top Contributors

[![marickvantuil](https://avatars.githubusercontent.com/u/647007?v=4)](https://github.com/marickvantuil "marickvantuil (349 commits)")[![Tarpsvo](https://avatars.githubusercontent.com/u/2018660?v=4)](https://github.com/Tarpsvo "Tarpsvo (11 commits)")[![aaajeetee](https://avatars.githubusercontent.com/u/9864953?v=4)](https://github.com/aaajeetee "aaajeetee (10 commits)")[![robertpcontreras-ts](https://avatars.githubusercontent.com/u/79461629?v=4)](https://github.com/robertpcontreras-ts "robertpcontreras-ts (10 commits)")[![miccehedin](https://avatars.githubusercontent.com/u/7142622?v=4)](https://github.com/miccehedin "miccehedin (8 commits)")[![ted-selig-five9](https://avatars.githubusercontent.com/u/149825586?v=4)](https://github.com/ted-selig-five9 "ted-selig-five9 (3 commits)")[![jobvink](https://avatars.githubusercontent.com/u/19264233?v=4)](https://github.com/jobvink "jobvink (3 commits)")[![gogl92](https://avatars.githubusercontent.com/u/1505641?v=4)](https://github.com/gogl92 "gogl92 (2 commits)")[![andrew-broberg-five9](https://avatars.githubusercontent.com/u/152926742?v=4)](https://github.com/andrew-broberg-five9 "andrew-broberg-five9 (2 commits)")[![Plytas](https://avatars.githubusercontent.com/u/17316322?v=4)](https://github.com/Plytas "Plytas (2 commits)")[![atrauzzi](https://avatars.githubusercontent.com/u/115199?v=4)](https://github.com/atrauzzi "atrauzzi (2 commits)")[![emilmilow](https://avatars.githubusercontent.com/u/8074946?v=4)](https://github.com/emilmilow "emilmilow (1 commits)")[![dshafik](https://avatars.githubusercontent.com/u/58074?v=4)](https://github.com/dshafik "dshafik (1 commits)")[![gabfr](https://avatars.githubusercontent.com/u/1237163?v=4)](https://github.com/gabfr "gabfr (1 commits)")[![illambo](https://avatars.githubusercontent.com/u/1899805?v=4)](https://github.com/illambo "illambo (1 commits)")[![mordy](https://avatars.githubusercontent.com/u/546345?v=4)](https://github.com/mordy "mordy (1 commits)")[![muath-ye](https://avatars.githubusercontent.com/u/34031333?v=4)](https://github.com/muath-ye "muath-ye (1 commits)")[![wildangunawan](https://avatars.githubusercontent.com/u/35158077?v=4)](https://github.com/wildangunawan "wildangunawan (1 commits)")[![tommerrett](https://avatars.githubusercontent.com/u/50173333?v=4)](https://github.com/tommerrett "tommerrett (1 commits)")

---

Tags

google-cloudgoogle-cloud-taskslaravellaravel-queuephplaravelcloudgooglequeuerunqueuescloudtasks

###  Code Quality

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/stackkit-laravel-google-cloud-tasks-queue/health.svg)

```
[![Health](https://phpackages.com/badges/stackkit-laravel-google-cloud-tasks-queue/health.svg)](https://phpackages.com/packages/stackkit-laravel-google-cloud-tasks-queue)
```

###  Alternatives

[kainxspirits/laravel-pubsub-queue

Queue driver for Google Cloud Pub/Sub.

48414.4k3](/packages/kainxspirits-laravel-pubsub-queue)[renoki-co/horizon-exporter

Export Laravel Horizon metrics using this Prometheus exporter.

24152.8k](/packages/renoki-co-horizon-exporter)[webparking/laravel-queue-ensurer

This composer package provides a Laravel queue ensurer.

6416.1k](/packages/webparking-laravel-queue-ensurer)[lokielse/laravel-mns

Aliyun MNS Queue Driver For Laravel

2614.9k](/packages/lokielse-laravel-mns)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
