【问题标题】:How to specific concurrency for sidekiq queue?如何为sidekiq队列指定并发?
【发布时间】:2016-01-14 03:28:28
【问题描述】:

例如,我在 sidekiq 配置中具有值 4 的并发性,具有 3 个队列:高、默认、低。

我在低队列中启动了 10 个 ffmpeg Active Job Worker,其中 4 个正在运行,接下来是 4 个等等,所以一切都很好。但同时我想运行另一个轻量级作业,比如在其他队列(高)。如此高的队列没有运行,它一直等到第一个运行 4-x 作业完成,但我不想等待,我想立即运行轻量级队列,怎么做?(在后台队列中当然)

【问题讨论】:

    标签: ruby-on-rails concurrency sidekiq


    【解决方案1】:

    看看sidekiq-limit_fetch Gem

    它使您可以更好地控制队列的优先级,并可以限制每个队列的并发性,以便对所有任务开放更多并发性,但您可以将 ffmpeg 作业限制为 4 个。

    【讨论】:

    • 感谢这个 gem 工作,但在生产 2 天后我注意到,这个 ruby​​ 脚本使用 100% 并且有时会崩溃 redis,所以我决定在 ActiveRecord 中使用 DelayedJob,它工作正常 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多