设置远程beanstalkd Laravel 4.2

时间:2015-05-28 12:38:06

标签: php laravel queue beanstalkd

我的堆栈设置包括以下内容:

  1. www.main.com - 主服务器(主要应用程序代码和监督)
  2. www.queue-server.com - 这里安装了Beanstalkd(这里没有代码只有beanstalkd)
  3. 我正在使用 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使用率。

    所以我的问题是:

    1. 我的设置是否正确?或者我必须改变什么?
    2. 我想在www.queue-server.com服务器上处理我的工作。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

beanstalkd服务器只是队列数据本身的存储,它不进行处理。它是php artisan queue:work命令,然后处理队列。这就是为什么你在www.main.com服务器上看到更高的负载,因为虽然你的队列存储在另一台服务器上,但主服务器是当前处理队列的服务器。

如果您希望www.queue-server.com服务器处理队列,您还需要在那里安装应用程序并从那里运行artisan命令。