【问题标题】:Laravel 4 and BeanstalkdLaravel 4 和 Beanstalkd
【发布时间】:2013-10-23 16:46:39
【问题描述】:
我现在在一台机器上运行了稳定的 Beanstalkd 和 Laravel 4 队列设置。我的问题是,如何在第二台机器上安装 Laravel 4 工作人员并让他们听我的 Beanstalkd?也许对某些人来说是一个非常明显的问题,但我无法弄清楚。我注意到php artisan queue:listen 命令中有一个连接字段。我必须使用它吗?
【问题讨论】:
标签:
php
laravel
queue
laravel-4
beanstalkd
【解决方案1】:
如何在第二台机器上安装 Laravel 4 worker 并让他们听我的 Beanstalkd?
您需要在与侦听器/工作人员相同的服务器上拥有您的 laravel 应用程序的工作实例。
这意味着将您的应用程序部署到网络服务器和正在侦听作业的服务器。
然后,在侦听服务器上,您可以调用php artisan queue:listen 以侦听新作业并创建一个工作人员来处理该作业。
我注意到 php artisan queue:listen 命令中有一个连接字段。我必须使用它吗?
除了上述问题之外,与大多数artisan 命令类似,您可能还需要定义queue:listen 命令应该使用哪个环境:
$ php artisan queue:listen --env=production
通过这种方式,您用于处理工作人员(侦听服务器上的应用程序)的 laravel 应用程序将知道要使用哪些配置,包括知道要使用哪些数据库凭据。 这也可能意味着网络服务器和您的工作/收听服务器都需要访问您的数据库。
最后,您还可以创建 2 个独立的 Laravel 应用程序 - 一个用于您的 Web 应用程序,一个纯粹用于处理处理工作。然后他们每个人都可以拥有自己的配置,并且您将拥有 2 个(可能更小?)代码库。但是,您将拥有 2 个代码库而不是 1 个。
在这方面,做最适合你情况的事情。