我目前正在Heroku的小型测功机上运行Sidekiq。性能非常好,可以执行简单的任务,例如检查数据,发送电子邮件..
尽管我最近已经使用ImageMagick异步进行了某些图像处理,并且对于我当前的并发而言,负载似乎太大。
这是我的Sidekiq.yml:
development:
:concurrency: 5
production:
:concurrency: 4
:queues:
- critical
- default
当一起执行4个图像版本控制时,工作人员将永远留在队列中,他们将在大约20分钟内全部完成。
如果我将生产并发设置为1,则大约需要20秒来处理4个工人。 (每个顺序5秒钟)
有没有办法让特定的worker不被同时处理,这样我可以保持并发性4,但是图像版本控制仍然不会使小的dyno窒息?
运行两个sidekiq运行程序,其中一个专用于您的图像处理工作,但不能同时运行,请检查the documentation以获取详细信息。