【发布时间】:2015-07-06 20:52:14
【问题描述】:
我正在使用带有 Rails 和 Heroku 的 Sidekiq 来执行异步工作器,但我无法让它工作。我尝试手动启动这些工作人员(执行 perform 方法)并且它们可以工作,但是当您安排它们并检查 Sidekiq 网页时,它们显示为 enqueued 并且不会处理它们。
我正在使用 Heroku Worker 和 Redis To Go,这是配置:
sidekiq.rb
require 'sidekiq'
Sidekiq.configure_client do |config|
config.redis = { :size => 1 }
end
Sidekiq.configure_server do |config|
config.redis = { :size => 2 }
end
sidekiq.yml
:concurrency: 2
工人启动
Sidekiq::Client.enqueue(MyWorker)
Sidekiq 和 Redis 似乎已正确连接,因为我在 Heroku 上获得了以下日志:
015-04-27T21:46:51Z 3 TID-ovbydc96k INFO: Sidekiq client with redis options {:size=>1, :url=>"redis://redistogo:REDACTED@soapfish.redistogo.com:xxxx/"}
我错过了一些东西,但我不知道是什么。任何帮助,将不胜感激。谢谢!
【问题讨论】:
-
你在启动sidekiq时指定了队列吗?
-
我已经在 .yml 文件中指定了队列。我应该以不同的方式来做吗? @Sanjiv
标签: ruby-on-rails heroku redis sidekiq