Hola,
Recibo el error de título en mi servidor de producción. Lo obtuve y proviene de Resque.redis en lib / resque.rb, y más precisamente @redis. De alguna manera @redis no se inicializa correctamente, así que hice ese parche pirata:
def self.redis
if @defined.nil?
self.redis = Redis.respond_to?(:connect) ? Redis.connect : "localhost:6379"
<strong i="8">@defined</strong> = true
else
return <strong i="9">@redis</strong>
end
self.redis
end
Y funciona. ¿Alguna opinión sobre esto?
Salud,
Ben
Me interesaría ver su inicializador de redis / resque.
Aquí tienes:
Redis
$redis = Redis.new(:host => 'localhost', :port => 6379)
Resque
require 'resque'
require 'resque_scheduler'
config = YAML.load_file(Rails.root.join('config', 'resque.yml'))
cron = YAML.load_file(Rails.root.join('config', 'cron.yml'))
# configure redis connection
Resque.redis = config[Rails.env]
# configure the schedule
Resque.schedule = cron
#patch for redis
require File.join(Rails.root, 'lib/resque_redis_fix.rb')
A mí también me sucedió con una aplicación implementada en heroku, pero lo extraño es que funciona en otra aplicación, prácticamente con las mismas configuraciones.
¿Cuál es su URL de redis del archivo resque.yml? Utilizo algo como esto: redis: // usuario: [email protected] : 9005.
Oh Dios ... Acabo de darme cuenta de que este archivo contiene lo siguiente:
development: localhost:6379
staging: localhost:6379
test: localhost:6379
production: production_db_server_address:6379
No es de extrañar que haya funcionado en dev pero no en prod ... Cerraré el problema entonces, perdón por la molestia.