【问题标题】:Avoid Sidekiq workers to be concurrent避免 Sidekiq 工作人员并发
【发布时间】:2019-11-22 10:53:10
【问题描述】:

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

虽然我最近使用 ImageMagick 进行了一些图像处理异步操作,但负载对于我当前的并发来说似乎太大了。

这是我的 Sidekiq.yml :

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

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

如果我将生产并发设置为 1,则 4 名工人的处理时间约为 20 秒。 (每个顺序 5 秒)

有没有办法让特定的工作人员不被同时处理,这样我就可以保持 4 的并发,但仍然有图像版本控制不会扼杀小测功机?

【问题讨论】:

    标签: ruby-on-rails sidekiq


    【解决方案1】:

    运行两个 sidekiq 运行器,一个专门用于您的图像处理工作,它不能同时工作,请查看 the documentation 了解详情。

    【讨论】:

    • 谢谢。我想我必须使用-c 标签才能为每个队列分配正确的并发性。另外我想我需要两个工人..我现在将保持全局并发为 1,并在一个工人不够用时切换到具有上述设置的两个工人..
    猜你喜欢
    • 2012-09-30
    • 2013-07-10
    • 2018-11-05
    • 2018-10-24
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 2013-11-05
    • 2013-09-16
    相关资源
    最近更新 更多