Я с использованием Laravel очередей с использованием драйвера базы данных и супервизора, чтобы держать работника очереди работает все время:Запуск нескольких рабочих очередей Laravel с помощью супервизора
[program:laravel_queue]
command=php artisan queue:listen --timeout=1800 --tries=5
directory=/var/app/current
stdout_logfile=/var/app/support/logs/laravel-queue.log
logfile_maxbytes=0
logfile_backups=0
redirect_stderr=true
autostart=true
autorestart=true
startretries=86400
EOB
Некоторые из задач очереди может занять около 10 минут.
У меня есть 2 части на вопрос:
1) Как я могу редактировать вышеуказанный скрипт для запуска нескольких (например, 3) рабочих очереди на одной и той же очереди.
2) Есть ли способ масштабирования числа работающих в очереди работающих на основе количества заданий, ожидающих обработки?
Причина вопроса 2 заключается в том, что у нас есть партии напряженного времени, а затем много тихих времен, поэтому я не хочу тратить ресурсы на 3 слушателя, которые работают все время.