Laravel队列推送监听器-队列监控

Laravel queue push listener - queue monitoring

我正在使用 JobProcessingJobProcessedJobFailed 来填充队列日志 table。

当作业被推送到队列时,我还想监听一个事件。这个存在吗?

我从运行看到:

\Redis::lrange('queues:mws', 0, -1)

存在 pushAt 参数,但我不确定如何在实际处理作业之前的事件中获取此参数。

这基本上是为了检查我的队列是否全部:

对于任何想知道的人,您可以在使用 horizo​​n 时通过侦听 JobPushed 事件来获取此信息。此事件的有效负载包含作业 ID、名称、连接和队列等。

Event::listen(JobPushed::class, function(JobPushed $event){
    \Log::debug('JobPushed Event Fired ', [
        'connection' => $event->connectionName,
        'queue' => $event->queue,
        'payload' => [
            'id' => $event->payload->id(),
            'displayName' => $event->payload->displayName(),
            'commandName' => $event->payload->commandName(),
            'isRetry' => $event->payload->isRetry(),
            'retryOf' => $event->payload->retryOf(),
        ]
    ]);
});