確保你後,你設置此設置你的redis
ENV["OPENREDIS_URL"] ||= "redis://127.0.0.1:6379"
uri = URI.parse(ENV["OPENREDIS_URL"])
Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
Rails.logger.info('Connected to Redis')
RESQUE_NAMESPACE = :my_namespace
Resque.redis.namespace = RESQUE_NAMESPACE
如果您嘗試設置它得到過書面Resque.redis.namespace =
Resque.redis =
之前。
同時一定要設置這個在任何after_fork回調爲您的Web服務器(麒麟/ PUMA /等):
on_worker_boot do
if defined?(ActiveRecord::Base)
ActiveRecord::Base.establish_connection
Rails.logger.info('Connected to ActiveRecord')
end
if defined?(Resque)
ENV["OPENREDIS_URL"] ||= "redis://127.0.0.1:6379"
uri = URI.parse(ENV["OPENREDIS_URL"])
Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
Resque.redis.namespace = RESQUE_NAMESPACE
Rails.logger.info('Connected to Redis')
end
end
在測試此,似乎命名空間必須是公正'「的myapp」'在'config/initializers/resque.rb'匹配'-N myapp'進行resque-web。 resque會在命名空間之後添加':resque:'到它的鍵。 – jwadsack
這也適用於我。我設置了我的resque初始化器像這樣 'Resque.redis.namespace =:ts' 然後啓動我的resque-web,像jmonteiro&jwadsack建議用'-N ts' –