srinathreddydudi / failed-jobs
A filament package to easily retry and prune failed jobs
Fund package maintenance!
srinathreddydudi
Requires
- php: ^8.2
- filament/filament: ^4.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^8.0
- nunomaduro/larastan: ^3.7
- orchestra/testbench: ^10.0
README
This plugin provides a failed jobs resource which can be used to retry and manage laravel failed queue jobs.
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.
Filtering Jobs
This plugin by default comes with the following filters which you can use to filter failed jobs.
- Connection
- Queue
- Job
- Failed At
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.
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.