gilbitron/laravel-queue-monitor

一个用于监控队列任务的Laravel包。

1.0.0 2017-01-17 13:53 UTC

This package is auto-updated.

Last update: 2024-09-12 04:12:38 UTC


README

一个用于监控队列任务的Laravel包。在数据库表中记录队列任务的相关信息

  • 包括开始和结束时间戳在内的任务执行时间
  • 如果使用了--tries,则每个任务的尝试次数
  • 如果任务失败,则显示异常(如有)
  • 自定义数据(可选)

要求

  • Laravel 5.3+

安装

安装composer包

composer require gilbitron/laravel-queue-monitor

config/app.php中添加服务提供者

/*
 * Package Service Providers...
 */
Gilbitron\LaravelQueueMonitor\LaravelQueueMonitorProvider::class,

运行迁移以设置queue_monitor数据库表

php artisan migrate

用法

现在所有队列任务都将被监控,并将结果存储到queue_monitor数据库表中。无需其他配置。

自定义数据

要保存与队列监控结果相关的自定义数据,您需要在您的Job中包含QueueMonitorData特性,并使用saveQueueMonitorData()方法。例如

<?php

namespace App\Jobs;

use Gilbitron\LaravelQueueMonitor\Jobs\QueueMonitorData;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;

class ExampleJob implements ShouldQueue
{
    use InteractsWithQueue, Queueable, SerializesModels, QueueMonitorData;

    protected $results = 0;

    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        $this->results = rand(1, 100);

        $this->saveQueueMonitorData([
            'results' => $this->results,
        ]);

        // ...
    }
}

致谢

Laravel Queue Monitor由来自Gilbert PellegromDev7studios创建。在MIT许可下发布。