避免Sidekiq工人并发

时间:2019-11-22 10:53:10

标签: ruby-on-rails sidekiq

我目前正在Heroku的小型测功机上运行Sidekiq。性能非常好,可以执行简单的任务,例如检查数据,发送电子邮件..

尽管我最近已经用ImageMagick异步进行了一些图像处理,但是对于我当前的并发来说,负载似乎太大了。

这是我的Sidekiq.yml:

development:
  :concurrency: 5
production:
  :concurrency: 4
:queues:
  - critical
  - default  

将4个图像版本控制一起触发时,工作人员将永远留在队列中,他们将在大约20分钟内全部完成。

如果我将生产并发设置为1,则在大约20秒内将处理4个工人。 (每个顺序5秒钟)

有没有办法让特定的worker不被并发处理,以便我可以保持并发性4,但是图像版本控制仍然不会使小的dyno阻塞?

1 个答案:

答案 0 :(得分:1)

运行两个sidekiq运行程序,其中一个专门用于图像处理工作,但不能同时运行,请检查the documentation以获得详细信息。