Здравствуйте.
Сделал очередь задач в 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
Обратно возвращаюсь к проблеме, как настроить, чтобы несколько задач выполнялись параллельно в очереди задач (а не последовательно) ?