sql >> Database >  >> NoSQL >> Redis

Resque, Resque Server, op RedisToGo met Heroku

Ik denk dat je Procfile heeft een typfout. Waarom heb je twee web processen? Ik zou het bij één houden en eenhoorn gebruiken .

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

Bij gebruik van eenhoorn met resque , moet u de resque . definiëren opnieuw verbinding elke keer eenhoorn vorken. Hier zijn de relevante bestanden.

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

Zie deze kern voor de volledige unicorn.rb




  1. Laravel Caching met Redis is erg traag

  2. Spring data mongodb zoeken naar ISO-datum

  3. Spring RedisConnectionFactory met transactie die de verbinding met Pool niet teruggeeft en vervolgens blokkeert wanneer deze uitgeput is

  4. SocketException:adres al in gebruik MONGODB