sql >> Database teknologi >  >> NoSQL >> Redis

Resque, Resque Server, på RedisToGo med Heroku

Jeg tror, ​​din Procfile har en tastefejl. Hvorfor har du to web processer? Jeg ville holde mig til en og bruge enhjørning .

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

Når du bruger enhjørning med resque , skal du definere resque redis forbindelse hver gang enhjørning gafler. Her er de relevante filer.

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 denne oversigt for den komplette unicorn.rb




  1. WebSocket-forbindelse til <URL> mislykkedes:Fejl under WebSocket-håndtryk:Uventet svarkode:521

  2. flere mongo-opdateringsoperatør i en enkelt erklæring?

  3. JedisPoolConfig kan ikke tildeles til GenericObjectPoolConfig

  4. Hvordan kan Redis sortere efter to forskellige sorterede sæt?