srinathreddydudi/failed-jobs

A filament package to easily retry and prune failed jobs

v1.0.0 2025-09-30 04:33 UTC

This package is auto-updated.

Last update: 2025-09-30 04:41:11 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

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

failed jobs index table

Installation

You can install the plugin via composer:

composer require srinathreddydudi/failed-jobs

Usage

Register the plugin in your panel service provider as

$panel->plugin(FailedJobsPlugin::make());

Important

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

Retrying Failed Jobs

You can retry failed jobs each one separetely 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

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

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 which are older than 12 hours.

retry failed jobs

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

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.

FailedJobsPlugin::make()->hideConnectionOnIndex()

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.

FailedJobsPlugin::make()->hideQueueOnIndex()

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.

FailedJobsPlugin::make()->filtersLayout(FiltersLayout::AboveContent)

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.