Добрый день,
Сконфигурировал поддержку очердей как в документации:
https://github.com/yiisoft/yii2-queue
Сами очереди отрабатывают нормально. В качестве драйвера указал 'db' и создал mysql таблицу как в доке
Далее в основах:
https://github.com/yiisoft/yii2-queue/blob/master/...
Пытаюсь слушать события. Мне Интереснее всего следить за:
Queue::EVENT_AFTER_EXEC
ExecEvent
После каждого успешного выполнения задания
Но не могу в него попасть хотя очередь отабатывает успешно.
./yii queue/listen --color --verbose --isolate
----------------------
2018-10-09 14:43:10 [156] common\jobs\DownloadJob (attempt: 1, pid: 4297) - Started
2018-10-09 14:43:11 [156] common\jobs\DownloadJob (attempt: 1, pid: 4297) - Done (0.379 s)
Ловлю:
EVENT_BEFORE_PUSH
EVENT_AFTER_PUSH
Не ловлю:
EVENT_BEFORE_EXEC
EVENT_AFTER_EXEC
EVENT_AFTER_ERROR
EVENT_WORKER_START
EVENT_WORKER_LOOP
EVENT_WORKER_STOP
Пример отлова:
$afterExecAlert = function($event) {
throw new \Exception('Hurra - EVENT_AFTER_EXEC');
};
Yii::$app->queue->on(Queue::EVENT_AFTER_EXEC, $afterExecAlert);
Yii::$app->queue->push(new DownloadJob([
'url' => 'https://picsum.photos/200/500',
'file' => $full_path,
]));
Config:
'queue' => [
'class' => \yii\queue\db\Queue::class,
'db' => 'db', // DB connection component or its config
'tableName' => '{{%queue}}', // Table name
'channel' => 'default', // Queue channel key
'mutex' => \yii\mutex\MysqlMutex::class, // Mutex used to sync queries
'as log' => \yii\queue\LogBehavior::class
],
Подскажите пожалуйста в чем причина?