【发布时间】:2019-02-19 09:36:06
【问题描述】:
我在同一个服务器上有两个不同的 Laravel 队列。在我的 Supervisord.d 文件夹中,我有两个用于这些队列的 ini 文件。队列中的作业名称不同。但是,每次我运行一项工作并期望一个队列的结果时,其他队列也会干扰。这是 ini 文件的示例:
[program:queue_runner]
command = php /path_to_prod/artisan queue:work --daemon --queue=default,smsInt,smsIntLow --tries=1 --timeout=30
stdout_logfile = /path_to_prod/storage/logs/supervisor.log
redirect_stderr = true
numprocs = 5
process_name = %(program_name)s%(process_num)s
[program:queue_runner_test]
command = php /path_to_test/artisan queue:work --daemon --queue=default,smsIntTest,smsIntTestLow --tries=1 --timeout=30
stdout_logfile = /path_to_test/storage/logs/supervisor.log
redirect_stderr = true
numprocs = 50
process_name = %(program_name)s%(process_num)s
你能帮我解决一下吗?
【问题讨论】:
-
请尽量为每个工作人员使用一个队列
-
详细说明“其他队列也有干扰”,请
-
第一个作业我使用“smsInt,smsIntLow”这两个队列,第二个作业“smsIntTest,smsIntTestLow”这些是队列。我应该从这些中删除默认值吗? @dparoli
-
是的,我在一个站点中有 5 个工作人员,每个工作人员只有一个队列。尝试删除默认值。
-
其他队列也有干扰,SmsInt 和 SmsIntLow 被链接到 queue_runner 程序,SmsIntTest 和 SmsInTesttLow 被链接到 queue_runner_test 程序。对于“queue_runner”作业,正在执行 smsInt -> smsIntTest 而不是 smsInt->smsIntLow。
标签: laravel supervisord beanstalkd laravel-queue