0

所以我有两台服务器。

服务器 A:有 redis、ruby + resque gem + rake gem 服务器 B:有 ruby​​ on rails + resque gem

从服务器 BI 将作业排队到服务器 A 上的 Redis。服务器 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 上运行。所以我把工作移到了那里。但是,当我从服务器 BI 入队时,得到以下信息:

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

我让它工作的唯一方法是当我在两台服务器上都有工作时,但这远非理想。

如何解决远程排队工作?

4

1 回答 1

0

resque-remote是用于远程排队作业的 gem。

如果Resque.inline为真,则作业将排入您当前的队列。

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

于 2014-01-30T06:53:41.213 回答