PHPackages                             kirschbaum-development/laravel-queue-batch-retry - 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. kirschbaum-development/laravel-queue-batch-retry

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

kirschbaum-development/laravel-queue-batch-retry
================================================

Package to retry failed jobs in batch using custom filters

1.2.2(1y ago)50308.2k↓16.9%3MITPHPPHP ^7.1 || ^8.0CI failing

Since Jul 3Pushed 1y ago15 watchersCompare

[ Source](https://github.com/kirschbaum-development/laravel-queue-batch-retry)[ Packagist](https://packagist.org/packages/kirschbaum-development/laravel-queue-batch-retry)[ Docs](https://github.com/kirschbaum-development/laravel-queue-batch-retry)[ RSS](/packages/kirschbaum-development-laravel-queue-batch-retry/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (4)Versions (11)Used By (0)

Laravel Queue Batch Retry
=========================

[](#laravel-queue-batch-retry)

[![Laravel Supported Versions](https://camo.githubusercontent.com/0d5d87849cb6da1d6d5dea65495009fcb708233e378955ba7f6bba343de16bb7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c61726176656c2d362e782f372e782f382e782d677265656e2e737667)](https://camo.githubusercontent.com/0d5d87849cb6da1d6d5dea65495009fcb708233e378955ba7f6bba343de16bb7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c61726176656c2d362e782f372e782f382e782d677265656e2e737667)[![Actions Status](https://github.com/kirschbaum-development/laravel-queue-batch-retry/workflows/tests/badge.svg)](https://github.com/kirschbaum-development/laravel-queue-batch-retry/actions)[![MIT Licensed](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Latest Version on Packagist](https://camo.githubusercontent.com/619b345ad3cd5fa941ec2d7453ffdfc4878bde1dbac7a6e8322063f29ed7e395/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b69727363686261756d2d646576656c6f706d656e742f6c61726176656c2d71756575652d62617463682d72657472792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kirschbaum-development/laravel-queue-batch-retry)[![Total Downloads](https://camo.githubusercontent.com/bcaf0b16e9fb2383dc68374df541b3bdfb523d9663d278a4f6ce7dcedb275ca0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6b69727363686261756d2d646576656c6f706d656e742f6c61726176656c2d71756575652d62617463682d72657472792e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kirschbaum-development/laravel-queue-batch-retry)

Laravel only allows you to retry one job per time or all of them when using the `queue:retry` command. This package gives you a few more options so you retry failed jobs in batches filtering to only the jobs you want.

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

[](#installation)

You can install the package via composer:

```
composer require kirschbaum-development/laravel-queue-batch-retry
```

Usage
-----

[](#usage)

There's two different commands this package provides.

### queue:failed:batch-retry

[](#queuefailedbatch-retry)

```
php artisan queue:failed:batch-retry --failed-after="2 days ago" --queue="default" --limit=10 --filter="CrawlWebsiteJob" --filter-by-exception="ModelNotFoundException"
```

**--filter**

The `failed_jobs` table is not really a structured table, so "searching" is basically a `like` condition on the `payload` condition. Using this option, depending on how many records you have, could be very slow since it will have to do a full table scan to find results. Hopefully, you don't have a lot of failed jobs, though.

```
php artisan queue:failed:batch-retry --filter="PublishDocumentJob"
php artisan queue:failed:batch-retry --filter="12234"
```

**--exclude-filter**

This is exact same as --filter, except in reverse. It will search all the payloads and exclude those given in the parameter.

```
php artisan queue:failed:batch-retry --exclude-filter="PublishDocumentJob"
```

**--filter-by-exception**

Same as the `--filter` option, but for the `exception` column in the `failed_jobs` table. Using this option, depending on how many records you have, could be very slow since it will have to do a full table scan to find results.

```
php artisan queue:failed:batch-retry --filter-by-exception="ModelNotFoundException"
php artisan queue:failed:batch-retry --filter-by-exception="Error when creating directory"
```

**--failed-after**

This option filters `failed_at` column. So let's say you had a bunch of jobs that failed today because of some API error in one of the services you use. You can retry all the jobs that failed since "today".

```
php artisan queue:failed:batch-retry --failed-after="today"
```

**--failed-before**

Same as the failed-after, but looking at previous dates.

```
php artisan queue:failed:batch-retry --failed-before="yesterday"
```

**--limit**

In case you want to run in just a specific number of jobs.

```
php artisan queue:failed:batch-retry --limit=10
```

**--dry-run**

We always get afraid of screwing things up, right? You can run dry run the command and see what's going to be executed first.

```
php artisan queue:failed:batch-retry --dry-run
```

### queue:failed:batch-delete

[](#queuefailedbatch-delete)

In case you simply want to clean up your failed jobs table, there's also a `queue:failed:batch-delete` command which works exactly the same as the `queue:failed:batch-retry` command. You can use the same filters and options provided by the retry command.

---

### Changelog

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

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

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

### Security

[](#security)

If you discover any security related issues, please email  or  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Luis Dalmolin](https://github.com/luisdalmolin)

Sponsorship
-----------

[](#sponsorship)

Development of this package is sponsored by Kirschbaum Development Group, a developer driven company focused on problem solving, team building, and community. Learn more [about us](https://kirschbaumdevelopment.com) or [join us](https://kirschbaumdevelopment.com/careers)!

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity46

Moderate usage in the ecosystem

Community14

Small or concentrated contributor base

Maturity66

Established project with proven stability

 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 ~159 days

Recently: every ~345 days

Total

10

Last Release

706d ago

Major Versions

0.3.1 → 1.0.02020-09-01

PHP version history (2 changes)0.1.0PHP ^7.1

1.2.0PHP ^7.1 || ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/57e405b52d482c9de35b17f299d2745e8e68d9d9951aec64854f2d7fa53110bf?d=identicon)[luisdalmolin](/maintainers/luisdalmolin)

![](https://www.gravatar.com/avatar/5f56743d64d77958321d43b2df49e9696d19c9dd99995730c5c38ccae50408fa?d=identicon)[Kirschbaum](/maintainers/Kirschbaum)

---

Top Contributors

[![luisdalmolin](https://avatars.githubusercontent.com/u/403446?v=4)](https://github.com/luisdalmolin "luisdalmolin (31 commits)")

---

Tags

kirschbaum-developmentlaravel-queue-batch-retry

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/kirschbaum-development-laravel-queue-batch-retry/health.svg)

```
[![Health](https://phpackages.com/badges/kirschbaum-development-laravel-queue-batch-retry/health.svg)](https://phpackages.com/packages/kirschbaum-development-laravel-queue-batch-retry)
```

###  Alternatives

[league/geotools

Geo-related tools PHP 7.3+ library

1.4k5.3M26](/packages/league-geotools)[enqueue/enqueue

Message Queue Library

19820.0M56](/packages/enqueue-enqueue)[deliciousbrains/wp-background-processing

WP Background Processing can be used to fire off non-blocking asynchronous requests or as a background processing tool, allowing you to queue tasks.

1.1k409.8k6](/packages/deliciousbrains-wp-background-processing)[react/async

Async utilities and fibers for ReactPHP

2228.8M171](/packages/react-async)[react/promise-stream

The missing link between Promise-land and Stream-land for ReactPHP

11512.9M45](/packages/react-promise-stream)[illuminate/bus

The Illuminate Bus package.

6043.8M409](/packages/illuminate-bus)

PHPackages © 2026

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