0

だから私は2台のサーバーを持っています。

サーバーA:redis、ruby + resque gem + rake gemがありますサーバーB:レールにruby +resquegemがあります

サーバー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に存在する必要があると考えました。そこで、ジョブをサーバー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 です。

true の場合Resque.inline、ジョブは現在のキューに入れられます。

ソース: https://github.com/localshred/resque-remote

于 2014-01-30T06:53:41.213 に答える