sql >> Databáze >  >> NoSQL >> Redis

Resque, Resque Server, na RedisToGo s Heroku

Myslím, že váš Procfile má překlep. Proč máte dva web procesy? Zůstal bych u jednoho a použil bych jednorožce .

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

Při použití jednorožce s request , musíte definovat resque redis připojení pokaždé jednorožec vidličky. Zde jsou příslušné soubory.

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

Kompletní unicorn.rb naleznete v tomto souhrnu




  1. Jak volat db.Collection.stats() z java ovladače Mongo

  2. Jak mohu vymazat všechny instance typu X v klientovi ServiceStack Redis

  3. Událost klíčového prostoru Redis se nespouští

  4. Zpožděné provedení / plánování s Redis?