2013-03-08 103 views
0

所以我有兩臺服務器。Resque遠程作業

服務器A:有Redis的,紅寶石+ resque寶石+耙寶石 服務器B:有Ruby on Rails的+ resque寶石

從服務器BI排隊作業到Redis的服務器A服務器A接收到作業:

*** Found job on test 
*** got: (Job{test} | TestQueue | []) 
*** Running before_fork hooks with [(Job{test} | TestQueue | [])] 
*** resque-1.23.1: Forked 10388 at 1362750385 
*** Failed to start worker : #<NameError: uninitialized constant TestQueue> 

所以我想通了工作需要住在服務器A於是我搬到作業那裏。但是,當我從服務器B上排隊,我得到如下:

rails console 
Loading development environment (Rails 3.2.12) 
irb(main):001:0> Resque.enqueue(TestQueue) 
NameError: uninitialized constant TestQueue 

的唯一方法我沒有得到它的工作時,我曾在兩個服務器的工作,但理想那遠。

如何遠程排隊排隊作業?

+0

哪裏TestQueue類服務器A和服務器B – Viren 2013-03-08 17:24:42

回答

0

resque-remote是用於遠程排隊工作的gem。

如果Resque.inline爲true,則該作業將排入當前隊列。

來源:https://github.com/localshred/resque-remote

+0

定義爲任何人讀這篇文章,如果您正在使用Resque的新版本,即> = 2.x中,你不需要這個寶石。只需使用標準API方法Resque.push即可。 http://rubydoc.info/github/resque/resque/Resque:push – Andres 2014-05-22 20:53:08