我的堆栈设置包括以下内容
Machine1- 主服务器(运行 laravel)
Machine2- Laravel 代码库的 MySql 服务器
Machine3- Beanstalkd工人
我已经设置了 SupervisordMachine1并添加了以下队列侦听器
[program:queue1]
command=php artisan queue:listen --queue=queue1 --tries=2
...
我的 laravel 队列配置文件(app/config/queue.php)读取以下内容
'beanstalkd' => array(
'driver' => 'beanstalkd',
'host' => '--- Machine3 IP ---',
'queue' => 'queue1',
'ttr' => 60,
),
我已经安装了 beanstalkdMachine3与 Beanstalk 控制台一起,可以看到我的任务被推送到队列并成功执行。不过我不确定是否Machine3实际上正在执行它们,我怀疑的原因是主服务器上的 CPU 使用率很高,而在Machine3
我完全关闭了 beanstalkd 服务器来检查队列是否仍在处理,结果是 laravel 报告的错误,表明它无法连接到 beanstalkd 服务器。
我在某处读到您需要在 beanstalkd 服务器上拥有 Laravel 代码库(Machine3)也是,这真的是要走的路吗?
无论您运行哪台机器queue:listen
on 是实际处理队列的机器。
目前您所做的就是将队列存储在machine3,但处理它们machine1.
所以你需要有machine3跑过queue:listen
如果您希望它处理队列,请使用命令。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)