Драйвер работает с очередью на базе ActiveMQ.
В приложении должно быть установлено расширение enqueue/stomp
.
Пример настройки:
return [
'bootstrap' => [
'queue', // Компонент регистрирует свои консольные команды
],
'components' => [
'queue' => [
'class' => \yii\queue\stomp\Queue::class,
'host' => 'localhost',
'port' => 61613,
'queueName' => 'queue',
],
],
];
Для обработки очереди используются консольные команды.
yii queue/listen
Команда listen
запускает обработку очереди в режиме демона. Очередь опрашивается непрерывно.
Если добавляются новые задания, то они сразу же извлекаются и выполняются. Способ наиболее эфективен
если запускать команду через supervisor или systemd.
Для команды listen
доступны следующие опции:
--verbose
, -v
: состояние обработки заданий выводится в консоль.--isolate
: каждое задание выполняется в отдельном дочернем процессе.--color
: подсветка вывода в режиме --verbose
.