2013-07-04 58 views
4

我已經把我的配置使用我的本地beanstalkd服務器:推到不同的服務器beanstalkd

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

如何推動工作到另一beanstalkd服務器?

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

Queue::pushToRemoteBeanstalkdInstance(function($job) 
{ 
    // ? 
}); 

回答

18

你必須要在隊列中的配置文件中的額外配置,所以它會是這個樣子:

'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 
}); 
+2

我愛你!!!!!! – Michelle