sql >> Databasteknik >  >> NoSQL >> Redis

Resque, Resque Server, på RedisToGo med Heroku

Jag tror att din Procfile har ett stavfel. Varför har du två web processer? Jag skulle hålla mig till en och använda unicorn .

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

När du använder unicorn med resque , måste du definiera resque redis anslutning varje gång unicorn gafflar. Här är de relevanta filerna.

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

Se den här sammanfattningen för hela unicorn.rb




  1. Duplicera en nyckel i redis

  2. Websocket Disconnected Anslut samtalet misslyckades

  3. Flytta underfält till toppnivå i projektion utan att lista alla nycklar

  4. Topp MongoDB-resurser