设置远程 beanstalkd Laravel 4.2
Setup Remote beanstalkd Laravel 4.2
我的堆栈设置包括以下内容:
- www.main.com - 主服务器(主应用程序代码和 supervisord)
- www.queue-server.com - 这里安装了 Beanstalkd(这里没有代码只有 beanstalkd)
我正在使用 Laravel 4.2。
我在 www.main.com 上设置了 Supervisord 并添加了以下队列侦听器:
php artisan queue:work--queue=test --env=test
我的app/config/queue.php
文件设置如下:
'beanstalkd' => array(
'driver' => 'beanstalkd',
'host' => 'www.queue-server.com',
'queue' => 'test',
'ttr' => 60,
),
根据我的理解,它应该在 www.queue-server.com
服务器上推送和处理作业,但在那里没有显示 cpu 峰值,但 www.main.com
服务器显示高 cpu 使用率。
所以我的问题是:
- 我的设置正确吗?或者我必须改变什么?
- 我想在
www.queue-server.com
服务器上处理我的工作。我怎样才能做到这一点?
beanstalkd服务器只是队列数据本身的存储,不做任何处理。它是 php artisan queue:work
命令,然后处理队列。这就是为什么您在 www.main.com
服务器上看到更高负载的原因,因为尽管您的队列存储在另一台服务器上,但主服务器是当前处理队列的服务器。
如果您希望 www.queue-server.com
服务器处理队列,您还需要在那里安装您的应用程序,并从那里 运行 artisan 命令。
我的堆栈设置包括以下内容:
- www.main.com - 主服务器(主应用程序代码和 supervisord)
- www.queue-server.com - 这里安装了 Beanstalkd(这里没有代码只有 beanstalkd)
我正在使用 Laravel 4.2。
我在 www.main.com 上设置了 Supervisord 并添加了以下队列侦听器:
php artisan queue:work--queue=test --env=test
我的app/config/queue.php
文件设置如下:
'beanstalkd' => array(
'driver' => 'beanstalkd',
'host' => 'www.queue-server.com',
'queue' => 'test',
'ttr' => 60,
),
根据我的理解,它应该在 www.queue-server.com
服务器上推送和处理作业,但在那里没有显示 cpu 峰值,但 www.main.com
服务器显示高 cpu 使用率。
所以我的问题是:
- 我的设置正确吗?或者我必须改变什么?
- 我想在
www.queue-server.com
服务器上处理我的工作。我怎样才能做到这一点?
beanstalkd服务器只是队列数据本身的存储,不做任何处理。它是 php artisan queue:work
命令,然后处理队列。这就是为什么您在 www.main.com
服务器上看到更高负载的原因,因为尽管您的队列存储在另一台服务器上,但主服务器是当前处理队列的服务器。
如果您希望 www.queue-server.com
服务器处理队列,您还需要在那里安装您的应用程序,并从那里 运行 artisan 命令。