我已将配置设置为使用本地beanstalkd服务器:
'beanstalkd' => array(
'driver' => 'beanstalkd',
'host' => 'localhost',
'queue' => 'default',
)
如何将作业推送到另一个beanstalkd服务器?
Queue::push(function($job)
{
// This pushes to local beanstalkd
});
Queue::pushToRemoteBeanstalkdInstance(function($job)
{
// ?
});
答案 0 :(得分:19)
您必须在队列配置文件中进行额外配置,因此它看起来像这样:
'connections' => array(
'beanstalkd' => array(
'driver' => 'beanstalkd',
'host' => 'localhost',
'queue' => 'default',
),
'beanstalkd_remote' => array(
'driver' => 'beanstalkd',
'host' => 'remotehost',
'queue' => 'default',
)
)
如果默认设置为“beanstalkd”,您可以继续以正常方式调用它。
如果要使用远程队列,只需在调用中定义连接,如:
Queue::connection('beanstalkd_remote')->push(function($job)
{
// This pushes to remote beanstalkd
});