sidekiq 多线程并发

问题描述 投票:0回答:1

我们使用 Sidekiq 来处理后台作业,比如这样:

def process_order(id)
... do something
end

Sidekiq 设置为 50-100 个线程,因此我们看到

process_order
同时在同一个
id
上运行,这是我们不希望的。确保
process_order
不会同时在同一个
id
上运行的最佳方法是什么?

我查看了https://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Async.html但是这个例子不是很清楚(对于新手来说)。

ruby-on-rails-3 sidekiq
1个回答
0
投票

您正在寻找独特的工作功能。 Sidekiq Enterprise 有它,并且有第 3 方插件也提供它。

50-100 个线程太多了。 Ruby 不能很好地扩展到那么多线程。

© www.soinside.com 2019 - 2024. All rights reserved.