我使用Laravel队列,使用数据库驱动和supervisor使队列工作进程一直运行:
[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分钟才能完成。
我的问题分为两个部分:
1)我该如何编辑上述脚本以在同一队列上运行多个(例如3个)队列工作者。
2)是否有一种方法可以根据等待处理的作业数量来扩展运行的队列工作者数量?
问题2的原因是我们有一批繁忙时段,然后有很多安静时间,所以我不想浪费资源来运行3个监听器整个时间。