我正在从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
Run Code Online (Sandbox Code Playgroud)
我使用以下命令启动了sidekiq:bundle exec sidekiq -e development -C config/sidekiq.yml
当我在worker上运行perform_async时,我希望它能排队.我的活动得到了一份工作ID,但没有任何人入队.
这是我收到的输出:
2.0.0p247 :001 > HardWorker.perform_async('bob', 5)
=> "d376dcd5f06ccb2633a5e76c"
Run Code Online (Sandbox Code Playgroud)
当我在Web界面中查看队列时,没有可用的队列.默认队列甚至不存在.
这是我的sidekiq.yml文件.
development:
verbose: true
concurrency: 15
queues:
- [publish_queue, 10]
- [mailer_queue, 2]
- [default, 5]
Run Code Online (Sandbox Code Playgroud)