Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Resque, Servidor Resque, no RedisToGo com Heroku


Acho que seu Procfile tem um erro de digitação. Por que você tem dois web processos? Eu ficaria com um e usaria unicórnio .

web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb

Ao usar unicórnio com resque , você deve definir o resque redis conexão cada vez unicórnio garfos. Aqui estão os arquivos relevantes.

config/initializers/redis.rb
uri = URI.parse(ENV["REDIS_WORKER"])
REDIS_WORKER = Redis.new(host: uri.host, port: uri.port, password: uri.password)

config/initializers/resque.rb
Resque.redis = REDIS_WORKER

config/unicorn.rb
before_fork do |server, worker|
  if defined?(Resque)
    Resque.redis.quit
    Rails.logger.info("Disconnected from Redis")
  end
end

after_fork do |server, worker|
  if defined?(Resque)
    Resque.redis = REDIS_WORKER
    Rails.logger.info("Connected to Redis")
  end
end

Veja esta essência para o unicorn.rb completo