aryeo / monitored-jobs
监控您的 Laravel 任务。
v3.0.1
2024-02-29 20:38 UTC
Requires
- php: ^8.1
- illuminate/support: ^8.0|^9.0|^10.0
- inertiajs/inertia-laravel: ^0.6.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.3
- laravel/legacy-factories: ^1.0.4
- orchestra/testbench: ^6.7
- php-coveralls/php-coveralls: ^2.4
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: *
README
概览
此包通过挂钩 Laravel 队列系统触发的事件来跟踪您的队列任务的状态和历史。
我们将此数据存储在数据库表 monitored_jobs
中。
安装
composer require aryeo/monitored-jobs
配置
您可以选择发布配置文件,这允许您配置
- 是否启用监控
- 要监控哪些任务
- 在修剪之前保留监控任务历史记录的天数
要发布配置文件
php artisan vendor:publish --tag=monitored-jobs
控制监控
要控制是否监控 任何 任务,设置 monitored-jobs.enabled
配置值。
有两个配置选项用于过滤要监控的任务: include_jobs
和 exclude_jobs
。这两个配置选项的默认值都是 null
,这意味着将包括任何任务类。
'include_jobs' => null
表示我们没有设置配置选项,因此所有任务都将被监控'include_jobs' => []
表示我们设置配置选项以包括没有任务,这意味着没有任务将被监控
包括和排除相同的任务类
首先检查 exclude_jobs
选项,如果发现要排除的任务,则将跳过监控。
修剪监控任务
MonitoredJob
模型设置为使用 Laravel 的模型修剪:[https://laravel.net.cn/docs/8.x/eloquent#pruning-models](https://laravel.net.cn/docs/8.x/eloquent#pruning-models)。
为了使模型被修剪,您必须通过调度器设置命令
protected function schedule(Schedule $schedule)
{
$schedule->command('model:prune')->daily();
}
您可以通过配置文件调整保留监控任务记录的时间
'prune_after_days' => 14,
标签
此包将尝试从任务类中提取标签。这是通过在任务类上使用 tags
方法或在任务构造函数中提取参数来完成的。
- 模型与模型集合将被序列化为
{$class}_{$KEY}
- 数组将被 JSON 编码
- 布尔值将被转换为 "true" / "false" 字符串
- 字符串和数字将按原样存储
- 对象将不会作为标签存储