PHPackages                             ulasoft/laravel-queue-rate-limit - 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. ulasoft/laravel-queue-rate-limit

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

ulasoft/laravel-queue-rate-limit
================================

Simple Laravel queue rate limiting

v3.2.0(5y ago)03MITPHPPHP ^7.3||^8.0

Since Aug 2Pushed 4y agoCompare

[ Source](https://github.com/ulasoft/laravel-queue-rate-limit)[ Packagist](https://packagist.org/packages/ulasoft/laravel-queue-rate-limit)[ Docs](https://github.com/mxl/laravel-queue-rate-limit)[ RSS](/packages/ulasoft-laravel-queue-rate-limit/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (5)Versions (12)Used By (0)

laravel-queue-rate-limit
========================

[](#laravel-queue-rate-limit)

[![Current version](https://camo.githubusercontent.com/e95748bcf2ab313cbceafe286371e9366687457da811a44f2a5170d7effa613a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d786c2f6c61726176656c2d71756575652d726174652d6c696d69742e7376673f6c6f676f3d636f6d706f736572)](https://packagist.org/packages/mxl/laravel-queue-rate-limit)[![Monthly Downloads](https://camo.githubusercontent.com/48e0ebc4b17c072d1bd5b748ff4c01e3fbf53f07404f9fd53d39902a44d4273d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f6d786c2f6c61726176656c2d71756575652d726174652d6c696d69742e737667)](https://packagist.org/packages/mxl/laravel-queue-rate-limit/stats)[![Total Downloads](https://camo.githubusercontent.com/fa1324af16ad6fed3961b9213cd2201482623399af794cc45d09c1acb6f906d6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d786c2f6c61726176656c2d71756575652d726174652d6c696d69742e737667)](https://packagist.org/packages/mxl/laravel-queue-rate-limit/stats)[![Build Status](https://camo.githubusercontent.com/9416bff79d427fcf9fce1500bad7101abe60b2fc7ffe70f44c33761c031b0d29/68747470733a2f2f7472617669732d63692e6f72672f6d786c2f6c61726176656c2d71756575652d726174652d6c696d69742e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/mxl/laravel-queue-rate-limit)

Simple Laravel queue rate limiting

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

[](#installation)

3.\* versions are compatible only with Laravel 7.

```
$ composer require mxl/laravel-queue-rate-limit
```

For Laravel 6 use 2.\* versions:

```
$ composer require mxl/laravel-queue-rate-limit "^2.0"
```

For Laravel 5 use 1.\* versions:

```
$ composer require mxl/laravel-queue-rate-limit "^1.0"
```

Laravel 5.5+ will use the [auto-discovery](https://medium.com/@taylorotwell/package-auto-discovery-in-laravel-5-5-ea9e3ab20518) feature to add `MichaelLedin\LaravelQueueRateLimit\QueueServiceProvider::class` to providers.

This package is not compatible with older Laravel versions.

Add rate limits to `config/queue.php`:

```
'rateLimits' => [
     'mail' => [ // queue name
        'allows' => 1, // 1 job
        'every' => 5 // per 5 seconds
     ]
]
```

Usage
-----

[](#usage)

Make sure that you don't use `sync` connection when queueing jobs. See `default` property in `config/queue.php`.

Run queue worker:

```
$ php artisan queue:work --queue default,mail
```

Then push several jobs to `default` and `mail` queues:

```
Mail::queue(..., 'mail');
Mail::queue(..., 'mail');
Mail::queue(..., 'mail');
Mail::queue(..., 'default');
Mail::queue(..., 'default');
```

You'll see that only `mail` queue jobs will be rate limited while `default` queue jobs will run normally.

Disable logging
---------------

[](#disable-logging)

Extend `QueueServiceProvider`:

```
