如何从同一台服务器运行不同的Beanstalkd Laravel队列?

问题描述 投票:1回答:1

我在同一台服务器上有两个不同的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

你能帮我解决一下吗?

laravel supervisord beanstalkd laravel-queue
1个回答
0
投票

找到了我的问题的解决方案。虽然这些工作是从smsIntTest上的测试站点以及从一开始就从smsInt队列中的其他站点发出的。但是,他们每次都被错误的队列所吸引。

如下文所示,Why is Laravel or Beanstalkd skipping jobs?

我在app / config / queue.php文件的'connections'数组中为一个站点分配了'queue'=>'smsInt',为另一个站点分配'queue'=>'smsIntTest'。该解决方案解决了该问题。

© www.soinside.com 2019 - 2024. All rights reserved.