Как сделать несколько очередей задач в Laravel?

Здравствуйте.

Сделал очередь задач в Laravel. Драйвер - database. Очередь одна. (https://laravel.com/docs/5.5/queues)

Как сделать так, чтобы очередей было одновеременно несколько ? Например, 5 ?

Работает через Supervisor, текущий конфиг
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php artisan queue:listen --queue=high,default --sleep=1 --tries=3 --timeout=0
autostart=true
autorestart=true
user=forge
numprocs=8
redirect_stderr=true

Очередь в таком виде работает. Но задач много, они долгие. делаются медленно и некоторым пользователям приходиться ждать несколько часов, а их задача занимает пару минут.

Я сделал numprocs=8 и приоритет --queue=high,default, но ничего не поменялось.
Я использовал команды: sudo service supervisord restart и supervisorctl restart
чтобы обновить файл конфигурации, но никаких изменений. Я думаю, возможно, я неверно обновляю файл ? И когда я его обновлю по настоящему, то у меня все заработает ? :)

т.к. numprocs=8, то должно быть 8 паралелльных выполнения задач ? Или я неверно понимаю ?

UPD: Я проверил. С помощью команды sudo service supervisord restart файл конфига все-таки обновился. т.е. он актуален, тем не менее идет только один процесс, несмотря на то, что выставлено numprocs=8
Обратно возвращаюсь к проблеме, как настроить, чтобы несколько задач выполнялись параллельно в очереди задач (а не последовательно) ?
  • Вопрос задан
  • 2225 просмотров
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
т.к. numprocs=8, то должно быть 8 паралелльных выполнения задач ?
Да.

Once the configuration file has been created, you may update the Supervisor configuration and start the processes using the following commands:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start laravel-worker:*

For more information on Supervisor, consult the Supervisor documentation.
https://laravel.com/docs/5.5/queues#supervisor-con...
Ответ написан
ansk11
@ansk11 Автор вопроса
Web developer
Задача решилась установкой Python 2.7 и переустановкой supervisor 3.3.3
После этого заработало!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
UksusoFF
@UksusoFF
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы