Redis to Go - Heroku - Rails



我想让Sidekiq在Heroku玩。没有运气. .我的配置是这样的:

Procfile

web: bundle exec passenger start -p $PORT --max-pool-size 5
worker: bundle exec sidekiq

初始化/redis.rb

uri = URI.parse(ENV["REDISTOGO_URL"] || "redis://localhost:6379/")
REDIS = Redis.new(:url => ENV['REDISTOGO_URL'])

,但当我做heroku ps时,只显示web实例。不是Sidekiq。

然而,我可以手动运行heroku run sidekiq并运行我的工人。我错过了什么,这样Heroku就不会自己启动了?

问题是你没有在初始化器中配置Sidekiq,以便Sidekiq确切地知道如何连接到redis。创建初始化/sidekiq。并添加以下代码

Sidekiq.configure_server do |config|
  config.redis = { :url => ENV["REDISTOGO_URL"] }
end

也可以删除

uri = URI.parse(ENV["REDISTOGO_URL"] || "redis://localhost:6379/")

你不需要它,因为你正在使用来自环境的redis url。
不要忘记重新启动服务器。

最新更新