rafaeltovar / laravel-job-trackable
使用 Redis 跟踪 Laravel 任务。
v1.0.0
2020-01-22 10:47 UTC
Requires
- php: >=7.1
- illuminate/contracts: >=5.6
- illuminate/queue: >=5.6
- illuminate/support: >=5.6
- ircmaxell/random-lib: ^1.2
- nesbot/carbon: ^1.25
This package is auto-updated.
Last update: 2024-09-23 19:06:02 UTC
README
跟踪 Laravel 任务,将状态、输入、输出和日期时间在 Redis 中保存一周。
基于 imTigger/laravel-job-status。
任务跟踪在一周内保存在 Redis 中。此时间可以在配置文件中设置。
安装
Composer
composer require rafaeltovar/laravel-job-trackable
特性
- 任务状态
- 队列、执行、更新和完成的时间日期
- 重试次数
- Redis 持久化 / NoSQL 数据库
- 用于管理跟踪的控制器
- 简单轻量
- Cli 命令
说明
步骤 1. 在 config/app.php
的 providers
部分中包含 Service Provider。
'providers' => [ //... LaravelJobTrackable\Providers\LaravelJobTrackableServiceProvider::class, ];
步骤 2. 将特质添加到我们的 Laravel Job
中,并通过 track
方法初始化跟踪。步骤 3.* 使用 setOutput
方法保存最终作业输出。
<?php namespace App\Jobs; use LaravelJobTrackable\Jobs\TrackableJob; class TrackedJob extends Job { use TrackableJob; public function __construct($input1, $input2) { // track the job-execution $this->track(['input1' => $input1, 'input2' => $input2]); // inputs are optionals } public function handle() { // Do something... $this->setOutput(['output1' => $output1]); // optional } }
使用控制器
如果您需要使用控制器来获取作业,可以使用它。
$ctrl = app(\LaravelJobTrackable\TrackedJobController::class); try { $track = $ctrl->get($idJobTrack); // Do something... } catch (\Exception $e) { // not found // Do something... }
跟踪作业对象
对象 LaravelJobTrackable\TrackedJob
有以下公共方法:// TODO