【发布时间】:2014-01-30 14:53:41
【问题描述】:
所以我有两台服务器。
服务器 A:有 redis、ruby + resque gem + rake gem 服务器 B:有 ruby on rails + resque gem
我从服务器 B 将作业排入服务器 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 上运行。所以我将工作移到了那里。但是,当我从服务器 B 入队时,我得到以下信息:
rails console
Loading development environment (Rails 3.2.12)
irb(main):001:0> Resque.enqueue(TestQueue)
NameError: uninitialized constant TestQueue
我确实让它工作的唯一方法是我在两台服务器上都有工作,但这远非理想。
如何避免远程排队工作?
【问题讨论】:
-
服务器A和服务器B中TestQueue类定义在哪里
标签: ruby-on-rails redis resque