あなたのProcfile
タイプミスがあります。なぜ2つのweb
があるのですか プロセス?私は1つに固執し、ユニコーンを使用します 。
web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
ユニコーンを使用する場合 resque 、 resqueを定義する必要があります redis 毎回の接続ユニコーン フォーク。関連するファイルは次のとおりです。
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
完全なunicorn.rbについては、この要点を参照してください。