jeffersongoncalves/laravel-queue-management
Composer 安装命令:
composer require jeffersongoncalves/laravel-queue-management
包简介
Manage Laravel's database queue tables (jobs, failed_jobs, job_batches) through models and a service layer.
README 文档
README
Laravel Queue Management
A headless toolkit for managing Laravel's database-driver queue tables (jobs, failed_jobs, job_batches). It provides Eloquent models for each table plus a small service layer (and facade) to retry, forget and flush failed jobs and delete pending jobs.
It contains no UI framework of its own. UI plugins (such as a Filament plugin) can depend on this package for the underlying models and operations.
Requirements
- PHP 8.2+
- Laravel 11, 12, or 13
Installation
composer require jeffersongoncalves/laravel-queue-management
The package uses Laravel's auto-discovery, so the service provider and the QueueManagement facade are registered automatically.
Publish Configuration (optional)
php artisan vendor:publish --tag=queue-management-config
This package reads from Laravel's existing queue tables. It does not ship migrations — make sure your application has run Laravel's built-in queue migrations (jobs, failed_jobs, job_batches).
Configuration
The configuration file (config/queue-management.php) lets you map the queue table names if your application uses custom ones:
return [ 'tables' => [ 'jobs' => 'jobs', 'failed_jobs' => 'failed_jobs', 'job_batches' => 'job_batches', ], ];
Usage
Models
use JeffersonGoncalves\QueueManagement\Models\Job; use JeffersonGoncalves\QueueManagement\Models\FailedJob; use JeffersonGoncalves\QueueManagement\Models\JobBatch; // Pending jobs $pending = Job::query()->get(); $first = $pending->first(); $first->displayName; // e.g. "App\Jobs\SendEmail" $first->maxTries; // int $first->delay; // int // Failed jobs $failed = FailedJob::query()->get(); $failed->first()->failed_at; // Carbon instance // Job batches (options are transparently base64 decoded) $batches = JobBatch::query()->get(); $batches->first()->options;
Service layer
Resolve the QueueManager from the container:
use JeffersonGoncalves\QueueManagement\QueueManager; $manager = app(QueueManager::class); // Retry one or more failed jobs (by failed_jobs.id). // When queue.failed.driver is "database-uuids" the uuid is used automatically. $manager->retry(1, 2, 3); // Retry every failed job $manager->retryAll(); // Forget a single failed job by id or uuid $manager->forget(1); // Flush all failed jobs $manager->flush(); // Delete a pending job from the jobs table by id $manager->deletePendingJob(10);
Facade
use JeffersonGoncalves\QueueManagement\Facades\QueueManagement; QueueManagement::retry(1, 2, 3); QueueManagement::retryAll(); QueueManagement::forget(1); QueueManagement::flush(); QueueManagement::deletePendingJob(10);
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
License
The MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-06-24
