我正在从delayed_jobs切换到sidekiq,但是我在让sidekiq排队作业时遇到了一些问题。
根据sidekiq.org上的示例,我创建了以下类:
class HardWorker
include Sidekiq::Worker
sidekiq_options queue: "publish_queue"
def perform(name, count)
puts 'Doing hard work'
end
end
我使用以下命令启动了sidekiq:bundle exec sidekiq -e development -C config/sidekiq.yml
当我在worker上运行perform_async时,我希望它能够将作业排队。我甚至得到了一个作业ID,但什么也没有排队。
这是我收到的输出:
2.0.0p247 :001 > HardWorker.perform_async('bob', 5)
=> "d376dcd5f06ccb2633a5e76c"
当我在Web界面中查看队列时,没有任何可用的队列。默认队列甚至不存在。
这是我的sidekiq.yml文件。
development:
verbose: true
concurrency: 15
queues:
- [publish_queue, 10]
- [mailer_queue, 2]
- [default, 5]