gpt4 book ai didi

ruby-on-rails - Sidekiq push_bulk 批量处理

转载 作者:数据小太阳 更新时间:2023-10-29 08:46:59 28 4
gpt4 key购买 nike

我正在尝试使用 Sidekiq 批处理将一组相关作业组合在一起。但是,由于 jobs 方法无法足够快地将所有作业推送到 Redis,因此批处理会在回调完成时过早触发。 sidekiq 文档位于 https://github.com/mperham/sidekiq/wiki/Batches说这可以通过使用 Sidekiq::Client.push_bulk 方法来解决,但文档不清楚如何批量推送到批处理。有人可以分享如何在批处理上下文中使用 push_bulk 的示例吗?

最佳答案

假设您要批量处理 100 个用户,每个作业一个用户 ID。

b = Sidekiq::Batch.new
b.jobs do
users = User.select(:id).limit(100).map(&:id) # users is [1, 2, 3, etc...]
args = users.map {|uid| [uid] } # args is [[1], [2], [3], etc...]
Sidekiq::Client.push_bulk('class' => YourWorker, 'args' => args)
end

关于ruby-on-rails - Sidekiq push_bulk 批量处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24944991/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com