推送到另一个beanstalkd服务器

Jür*_*aul 5 beanstalkd laravel laravel-4

我已将我的配置设置为使用本地beanstalkd服务器:

'beanstalkd' => array(
    'driver' => 'beanstalkd',
    'host'   => 'localhost',
    'queue'  => 'default',
)
Run Code Online (Sandbox Code Playgroud)

如何将作业推送到另一个beanstalkd服务器?

Queue::push(function($job)
{
  // This pushes to local beanstalkd
});

Queue::pushToRemoteBeanstalkdInstance(function($job)
{
  // ?
});
Run Code Online (Sandbox Code Playgroud)

Nic*_*aag 19

您必须在队列配置文件中进行额外配置,因此它看起来像这样:

'connections' => array(

    'beanstalkd' => array(
        'driver' => 'beanstalkd',
        'host'   => 'localhost',
        'queue'  => 'default',
    ),

    'beanstalkd_remote' => array(
        'driver' => 'beanstalkd',
        'host'   => 'remotehost',
        'queue'  => 'default',
    )
)
Run Code Online (Sandbox Code Playgroud)

如果默认设置为"beanstalkd",您可以继续以正常方式调用它.

如果要使用远程队列,只需在调用中定义连接,如:

Queue::connection('beanstalkd_remote')->push(function($job)
{
    // This pushes to remote beanstalkd
});
Run Code Online (Sandbox Code Playgroud)