Слушатель очереди Laravel - мониторинг очереди - PullRequest
0 голосов
/ 08 февраля 2019

Я использую JobProcessing, JobProcessed и JobFailed для заполнения таблицы журналов очереди.

Я также хотел бы прослушать событие, когда задания помещаются в очередь.Это существует?

Я вижу при запуске:

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

, что параметр pressedAt существует, но я не уверен, как получить это в событии до фактической обработки задания.

Это в основном для того, чтобы проверить, все ли мои очереди:

  • a) фактически запущен (рабочие не остановлены).
  • b) обработка заданиявремя не слишком длинное.

1 Ответ

0 голосов
/ 12 февраля 2019

Для тех, кто интересуется, вы можете получить эту информацию при использовании horizon, прослушивая событие JobPushed.Полезная нагрузка для этого события содержит идентификатор задания, имя, соединение, очередь и т. Д.

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(),
        ]
    ]);
});
...