0

私はResqueいくつかの非同期ジョブに使用しています。integration自分の環境のクローンであるカスタム環境をセットアップしましたproduction。ただし、私のジョブは私の環境Resqueに追加されません。Redisintegration

たとえば、次を実行すると:

$ RAILS_ENV=production rails console
> Resque.enqueue(MyLovelyJob, 1)

resque-web にジョブが表示されます。

しかし、次を実行すると:

$ RAILS_ENV=integration rails console
> Resque.enqueue(MyLovelyJob, 1)

ジョブは resque-web に表示されません。

明らかに、ある種の構成が欠けています。それが何であるかを突き止めようとして、髪を引っ張っています。

4

2 に答える 2

0

これは私が問題を解決するためにしたことです:

config/initializers/resque.rb次のコンテンツで作成しました。

rails_root = ENV['RAILS_ROOT'] || File.dirname(__FILE__) + '/../..'
rails_env = ENV['RAILS_ENV'] || 'development'

resque_config = YAML.load_file(rails_root + '/config/resque.yml')
Resque.redis = resque_config[rails_env]

また、次のコンテンツを使用して作成config/resque.ymlしました(明らかに、これらは適切なものに設定する必要があります)。

development: localhost:6379
test: localhost:6379
integration: localhost:6379
staging: localhost:6379
production: localhost:6379
于 2012-08-15T17:42:38.240 に答える
0

最初にいくつかの期待。

あなたは次のconfig/resque_config.rbようなものを持っています:

require 'rubygems'

require 'resque' # include resque so we can configure it
require 'resque/server'
require 'resque_scheduler'
require 'resque_scheduler/server'
require 'yaml'

Resque.redis.namespace = "resque:api"

rails_root = ENV['APP_ROOT'] || (File.dirname(__FILE__) + '/..')
# require File.expand_path(File.join(rails_root,"lib","extensions","resque","worker.rb"))

rails_env = RAILS_ENV if defined? RAILS_ENV
rails_env ||= ( ENV['RAILS_ENV'] || 'development' )

resque_config = YAML.load_file(File.join(rails_root, 'config/resque.yml'))
Resque.redis = resque_config[rails_env]

# IN THIS ORDER
Resque::Scheduler.dynamic = true
Resque.schedule = YAML.load_file(File.join(rails_root, 'config/resque_schedule.yml')) # load the schedule

および次のconfig/resque.ymlようなもの:

development: localhost:6379
test: localhost:6379
integration: localhost:6379
staging: localhost:6379
production: localhost:6379

integration、別のサーバー上にある/別のサーバーと通信するか、別のポートを使用します。次に、2つが重複しないように、独自のRedisサーバーを実行します。プロダクションとインテグレーションが同じ場所にキューイングすることを望まなかったと思いますか?

于 2012-08-15T17:28:49.523 に答える