Не работают события в очереди
Добавлено: 2018.06.13, 02:16
Здравствуйте, форумчане!
Вот такой кусок кода.
Если вкратце - это кусок файла беседы Botman'а. Пытаемся использовать очереди Yii для создания канала. Очередь сама по себе работает, но вот функция при событии окончания выполнения задачи не вызывается (точнее, если запустить verbose режим, то в консоли можно увидеть сообщение с Done, но наша функция не выполняется). При это последнее сообщение 'The channel is sent to the creation queue and will be created soon' приходит в браузер.
Подскажите, пожалуйста, как можно решить данную проблему, то есть, как можно повесить на событие свой обработчик?
Вот такой кусок кода.
Код: Выделить всё
$tag = $answer->getText();
$this->ask('Please describe the channel', function (Answer $answer) use ($tag) {
$data = ['tag' => $tag, 'token' => $this->bot->getUser()->getId(), 'text' => $answer->getText()];
Yii::$app->queue->push(new CreateChannel(['data' => $data]));
Yii::$app->queue->on(\yii\queue\redis\Queue::EVENT_AFTER_EXEC, function ($event) {
echo 'asasdasdasd';
//$conversation->say('The channel was created');
});
$this->say('The channel is sent to the creation queue and will be created soon');
});
Подскажите, пожалуйста, как можно решить данную проблему, то есть, как можно повесить на событие свой обработчик?