PHPackages                             binarybuilds/filament-failed-jobs - 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. binarybuilds/filament-failed-jobs

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

binarybuilds/filament-failed-jobs
=================================

A filament package to easily retry and prune failed jobs

v2.1.0(5mo ago)723.1k↓47.7%6MITPHPPHP ^8.2CI passing

Since Oct 12Pushed 2w ago1 watchersCompare

[ Source](https://github.com/binarybuilds/filament-failed-jobs)[ Packagist](https://packagist.org/packages/binarybuilds/filament-failed-jobs)[ Docs](https://github.com/binarybuilds/filament-failed-jobs)[ GitHub Sponsors](https://github.com/srinathreddydudi)[ RSS](/packages/binarybuilds-filament-failed-jobs/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (6)Dependencies (8)Versions (10)Used By (0)

A Filament Plugin to Retry and manage failed jobs
=================================================

[](#a-filament-plugin-to-retry-and-manage-failed-jobs)

[![Latest Version on Packagist](https://camo.githubusercontent.com/ffa65cabeaa1d1774ad326c38d51ef361a85293706ff94a193c0cc584bb203f2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f62696e6172796275696c64732f66696c616d656e742d6661696c65642d6a6f62732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/binarybuilds/filament-failed-jobs)[![GitHub Tests Action Status](https://camo.githubusercontent.com/f279f5a6185131e911d92054e9b926e403d77dc0318363cdbe0dae924456407f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f62696e6172796275696c64732f66696c616d656e742d6661696c65642d6a6f62732f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/binarybuilds/filament-failed-jobs/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/2d3cf2cc82ceab9da1684debbd49eef5744a467bdaa4a7e8088daad6c7a3e57d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f62696e6172796275696c64732f66696c616d656e742d6661696c65642d6a6f62732f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/binarybuilds/filament-failed-jobs/actions?query=workflow%3A%22Fix+PHP+code+styling%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/74a521681168906533815857753355a5777ebab7ee4d02ca763fa64deb2a00cf/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f62696e6172796275696c64732f66696c616d656e742d6661696c65642d6a6f62732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/binarybuilds/filament-failed-jobs)

This plugin provides a failed jobs resource which can be used to retry and manage laravel failed queue jobs.

[![failed jobs index table](/resources/screenshots/index.png)](/resources/screenshots/index.png)

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

[](#installation)

You can install the plugin via composer:

```
composer require binarybuilds/filament-failed-jobs
```

Usage
-----

[](#usage)

Register the plugin in your panel service provider as

```
use BinaryBuilds\FilamentFailedJobs\FilamentFailedJobsPlugin;

$panel->plugin(FilamentFailedJobsPlugin::make());
```

Important

If you are using laravel horizon, Instruct the plugin by chaining the `->usingHorizon()` method.

Retrying Failed Jobs
--------------------

[](#retrying-failed-jobs)

You can retry failed jobs each one separately using the retry action next to each job, or bulk retry by selecting multiple jobs and then using the bulk options' menu. You can also use the global retry action to retry all failed jobs or jobs from a specific queue.

[![retry failed jobs](/resources/screenshots/retry-modal.png)](/resources/screenshots/retry-modal.png)

Filtering Jobs
--------------

[](#filtering-jobs)

This plugin by default comes with the following filters which you can use to filter failed jobs.

- Connection
- Queue
- Job
- Failed At

[![filter failed jobs](/resources/screenshots/filters.png)](/resources/screenshots/filters.png)

Pruning Jobs
------------

[](#pruning-jobs)

If you have too many stale failed jobs, You can use the global prune jobs action to prune stale failed jobs. This action will prompt you to input the hours to retain the failed jobs. Any failed jobs that are older than the given hours will be pruned.

For example, If you enter 12 hours, It will prune all failed jobs that are older than 12 hours.

[![retry failed jobs](/resources/screenshots/prune-modal.png)](/resources/screenshots/prune-modal.png)

Customization
-------------

[](#customization)

This plugin works out of the box and adds a `Failed Jobs` resource to your admin panel. You can customize the display if needed.

### Remove connection column from index table

[](#remove-connection-column-from-index-table)

Most of the applications do not leverage more than one queue connection. So it would be clean to hide the connection column in this case. You can do so by chaining the `hideConnectionOnIndex` method as below.

```
FilamentFailedJobsPlugin::make()->hideConnectionOnIndex()
```

### Remove queue column from index table

[](#remove-queue-column-from-index-table)

Similarly, if your application only pushes to the default queue, You can hide the queue column by chaining the `hideQueueOnIndex` method as below.

```
FilamentFailedJobsPlugin::make()->hideQueueOnIndex()
```

### Change filters layout

[](#change-filters-layout)

This plugin comes with a few filters to help you easily filter failed jobs. If you would like to change how the filters are displayed, You can do so by chaining `filtersLayout` method which accepts `Filament\Tables\Enums\FiltersLayout` parameter.

```
FilamentFailedJobsPlugin::make()->filtersLayout(FiltersLayout::AboveContent)
```

### Authorization

[](#authorization)

You can restrict access to the failed jobs resource using the `authorize` method. This accepts a boolean or a closure that returns a boolean.

```
FilamentFailedJobsPlugin::make()->authorize(fn () => auth()->user()->can('view-failed-jobs'))
```

### Navigation Group

[](#navigation-group)

You can change the navigation group using the `navigationGroup` method. This accepts a string, `UnitEnum` or `Closure`.

```
FilamentFailedJobsPlugin::make()->navigationGroup('System')
```

### Navigation Label

[](#navigation-label)

You can customize the navigation label using the `navigationLabel` method.

```
FilamentFailedJobsPlugin::make()->navigationLabel('Queue Failures')
```

### Navigation Icon

[](#navigation-icon)

You can change the navigation icon using the `navigationIcon` method. This accepts a Heroicon string or a `Heroicon` enum value.

```
FilamentFailedJobsPlugin::make()->navigationIcon('heroicon-o-exclamation-triangle')
```

### Navigation Sort Order

[](#navigation-sort-order)

You can change the navigation sort order using the `navigationSort` method.

```
FilamentFailedJobsPlugin::make()->navigationSort(10)
```

### Polling for new failed jobs

[](#polling-for-new-failed-jobs)

By default, the table will refresh (poll) every 60 seconds to retrieve new failed jobs. You can change the polling interval by passing an interval string to the `pollingInterval` method.

```
FilamentFailedJobsPlugin::make()
    ->pollingInterval('60s')
```

Altertavely, you can disable the polling functionality entirely by passing a `false` value to the `withPolling` method.

```
FilamentFailedJobsPlugin::make()
    ->withPolling(false)
```

### Combined Example

[](#combined-example)

You can chain multiple configuration methods together.

```
FilamentFailedJobsPlugin::make()
    ->authorize(fn () => auth()->user()->isAdmin())
    ->navigationGroup('System')
    ->navigationLabel('Failed Jobs')
    ->navigationIcon('heroicon-o-queue-list')
    ->navigationSort(50)
    ->withPolling(true)
    ->pollingInterval('60s')
```

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

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

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

[](#contributing)

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

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Srinath Reddy Dudi](https://github.com/srinathreddydudi)
- [All Contributors](../../contributors)

License
-------

[](#license)

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

###  Health Score

51

—

FairBetter than 95% of packages

Maintenance85

Actively maintained with recent releases

Popularity36

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 51.9% 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 ~20 days

Total

6

Last Release

163d ago

Major Versions

v1.1.1 → v2.0.02025-12-04

### Community

Maintainers

![](https://www.gravatar.com/avatar/faf684c4b3aeecf11110dd558e77c2207fa9e5753d3d0815165097240615f423?d=identicon)[srinathdudi](/maintainers/srinathdudi)

---

Top Contributors

[![srinathreddydudi](https://avatars.githubusercontent.com/u/10626045?v=4)](https://github.com/srinathreddydudi "srinathreddydudi (42 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (16 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (11 commits)")[![clnt](https://avatars.githubusercontent.com/u/19330442?v=4)](https://github.com/clnt "clnt (9 commits)")[![Yismen](https://avatars.githubusercontent.com/u/4872942?v=4)](https://github.com/Yismen "Yismen (2 commits)")[![swilla](https://avatars.githubusercontent.com/u/304159?v=4)](https://github.com/swilla "swilla (1 commits)")

---

Tags

laravelfilamentqueued jobsfailed jobsbinarybuilds

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/binarybuilds-filament-failed-jobs/health.svg)

```
[![Health](https://phpackages.com/badges/binarybuilds-filament-failed-jobs/health.svg)](https://phpackages.com/packages/binarybuilds-filament-failed-jobs)
```

###  Alternatives

[croustibat/filament-jobs-monitor

Background Jobs monitoring like Horizon for all drivers for FilamentPHP

274325.8k8](/packages/croustibat-filament-jobs-monitor)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.6k](/packages/rawilk-profile-filament-plugin)[ysfkaya/filament-phone-input

A phone input component for Laravel Filament

3161.3M25](/packages/ysfkaya-filament-phone-input)[stephenjude/filament-jetstream

A Laravel starter kit built with Filament inspired by Jetstream.

17760.2k3](/packages/stephenjude-filament-jetstream)[stephenjude/filament-two-factor-authentication

Filament Two Factor Authentication: Google 2FA + Passkey Authentication

84215.9k9](/packages/stephenjude-filament-two-factor-authentication)[marcelweidum/filament-passkeys

Use passkeys in your filamentphp app

6649.5k1](/packages/marcelweidum-filament-passkeys)

PHPackages © 2026

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