【问题标题】:Resque remote jobsResque 远程工作
【发布时间】: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


【解决方案1】:

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

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

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-07
  • 1970-01-01
  • 2011-07-14
  • 1970-01-01
  • 2023-03-19
相关资源
最近更新 更多