【问题标题】:Enequeued jobs are not processed by SidekiqSidekiq 不处理排队的作业
【发布时间】: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


【解决方案1】:

您是否已运行此命令以使 Sidekiq 知道使用 Redis-To-Go URL?

heroku config:set REDIS_PROVIDER=REDISTOGO_URL

【讨论】:

  • 是的,实际上它连接到 Redis
  • 那么很可能您的作业在 Sidekiq 未处理的非默认队列中。
猜你喜欢
  • 1970-01-01
  • 2018-09-27
  • 1970-01-01
  • 2020-01-25
  • 2015-07-03
  • 1970-01-01
  • 1970-01-01
  • 2013-05-26
  • 2013-12-20
相关资源
最近更新 更多