PHPackages                             eubourne/laravel-queue-throttle - 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. eubourne/laravel-queue-throttle

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

eubourne/laravel-queue-throttle
===============================

Laravel queue rate limiting.

v1.1.0(8mo ago)017MITPHPPHP ^8.3

Since Nov 22Pushed 8mo ago2 watchersCompare

[ Source](https://github.com/eubourne/laravel-queue-throttle)[ Packagist](https://packagist.org/packages/eubourne/laravel-queue-throttle)[ RSS](/packages/eubourne-laravel-queue-throttle/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (2)Versions (5)Used By (0)

[![Laravel Queue Throttle](/assets/laravel-queue-throttle-card.jpg)](/assets/laravel-queue-throttle-card.jpg)

Laravel Queue Throttle
======================

[](#laravel-queue-throttle)

[![Latest Version on Packagist](https://camo.githubusercontent.com/7ffcd0f260fcf91c054b7ee7f7c113d59b853e889055c2f2af59c40cff9f07ec/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6575626f75726e652f6c61726176656c2d71756575652d7468726f74746c652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/eubourne/laravel-queue-throttle)

**Laravel Queue Throttle** is a package designed to manage and throttle the processing of jobs in Laravel queues. It enables you to set rate limits on your queues, preventing system overloads by controlling job execution rates.

- [Features](#features)
- [Installation](#installation)
- [Basic Usage](#basic-usage)
- [Sharing Rate Limits](#sharing-rate-limits)
- [Optimization](#optimization)
- [Logging](#logging)
- [Testing](#testing)
    - [Queue Status](#queue-status)
    - [Fill Queue](#fill-queue)
- [License](#license)
- [Contributing](#contributing)
- [Contact](#contact)

---

Features
--------

[](#features)

- **Rate limiting:** Define limits on how many jobs can be processed within a specified time frame for individual queues.
- **Shareable limits:** Apply a single rate limit across multiple queues for flexible control.

---

Installation
------------

[](#installation)

To install the package, run:

```
composer require eubourne/laravel-queue-throttle
```

This package leverages Laravel's [Laravels package auto-discovery](https://medium.com/@taylorotwell/package-auto-discovery-in-laravel-5-5-ea9e3ab20518) feature, so no manual service provider registration is required.

Basic Usage
-----------

[](#basic-usage)

To set a rate limit for a queue, update the `throttle` configuration in your `config/queue.php` file:

```
/*
|--------------------------------------------------------------------------
| Rate Limits
|--------------------------------------------------------------------------
|
| Here you can set rate limits for specific queues to control the processing rate.
|
*/

'throttle' => [
    'mail' => [
        'allows' => 10,
        'every' => 60,
    ]
],
```

In this example, the `mail` queue is limited to processing 10 jobs every 60 seconds. Other queues will remain unrestricted by default.

Sharing Rate Limits
-------------------

[](#sharing-rate-limits)

To share a rate limit across multiple queues, separate the queue names with a colon (`:`):

```
'throttle' => [
    'mail:notifications' => [
        'allows' => 10,
        'every' => 60,
    ]
],
```

Here, the `mail` and `notifications` queues share the same limit. For instance, if 8 jobs are processed from the `mail` queue, only 2 jobs can be processed from the `notifications` queue within the same 60-second interval.

Optimization
------------

[](#optimization)

Improve performance and reduce configuration resolution overhead by caching rate limit configurations:

```
php artisan queue:cache
```

To clear cached configurations, run:

```
php artisan queue:clear-cache
```

Additionally, standard Laravel optimization commands are supported:

```
php artisan optimize
php artisan optimize:clear
```

View the current rate limit configuration with:

```
php artisan queue:throttle
```

---

Logging
-------

[](#logging)

To debug rate-limiting activities, set the `throttle_logger` configuration in your `config/queue.php`:

```
/*
|--------------------------------------------------------------------------
| Rate Limits Logger
|--------------------------------------------------------------------------
|
| Configure logging channel for the queue throttler. If not set then logging
| will be disabled.
|
*/

'throttle_logger' => env('QUEUE_THROTTLE_LOGGER', null),
```

Specify a logging channel to monitor and debug throttling operations. If left unset, logging will be disabled.
--------------------------------------------------------------------------------------------------------------

[](#specify-a-logging-channel-to-monitor-and-debug-throttling-operations-if-left-unset-logging-will-be-disabled)

Testing
-------

[](#testing)

The package includes helper Artisan commands to test queue functionality.

### Queue Status

[](#queue-status)

Check if a queue is functioning and processing jobs:

```
php artisan queue:test {queue}
```

This command dispatches a test job to the specified queue and verifies successful processing.

### Fill Queue

[](#fill-queue)

Fill a queue with test jobs to simulate workload and observe processing behavior:

```
php artisan queue:fill {count} {--queue=}
```

For example, to test rate limiting on the `mail` and `notifications` queues:

```
php artisan queue:fill 20 --queue=mail
php artisan queue:fill 20 --queue=notifications
```

Monitor the processing of these queues using Laravel's built-in monitoring command:

```
php artisan queue:monitor --queue=mail,notifications
```

License
-------

[](#license)

This package is open-source and available for free under the [MIT license](http://opensource.org/licenses/MIT).

Contributing
------------

[](#contributing)

Feel free to submit issues or pull requests to help improve this package.

Contact
-------

[](#contact)

For more information or support, please reach out via GitHub or email.

###  Health Score

36

—

LowBetter than 81% of packages

Maintenance62

Regular maintenance activity

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~90 days

Total

4

Last Release

261d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1bf96b030aea98256cd79d34205c664a739cf16745fe5da1cc4824267ece26ef?d=identicon)[eubourne](/maintainers/eubourne)

---

Top Contributors

[![cage-a80](https://avatars.githubusercontent.com/u/16155138?v=4)](https://github.com/cage-a80 "cage-a80 (8 commits)")

---

Tags

laravelqueuelimit

### Embed Badge

![Health badge](/badges/eubourne-laravel-queue-throttle/health.svg)

```
[![Health](https://phpackages.com/badges/eubourne-laravel-queue-throttle/health.svg)](https://phpackages.com/packages/eubourne-laravel-queue-throttle)
```

###  Alternatives

[mxl/laravel-queue-rate-limit

Simple Laravel queue rate limiting

94477.0k](/packages/mxl-laravel-queue-rate-limit)[mpbarlow/laravel-queue-debouncer

A wrapper job for debouncing other queue jobs.

63714.4k1](/packages/mpbarlow-laravel-queue-debouncer)[convenia/pigeon

3233.0k](/packages/convenia-pigeon)[lokielse/laravel-mns

Aliyun MNS Queue Driver For Laravel

2614.9k](/packages/lokielse-laravel-mns)[tochka-developers/queue-promises

Promises for Laravel queue jobs

1912.3k](/packages/tochka-developers-queue-promises)[twigger/laravel-job-status

Job status for Laravel

205.5k](/packages/twigger-laravel-job-status)

PHPackages © 2026

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