【发布时间】:2025-12-06 14:45:01
【问题描述】:
很多时候我都会有类似这样的后台工作代码。
class MyJob < ActiveJob::Base
def perform
User.find_in_batches.each do |batch|
MyOtherJobToProcessBatchOfUsers.perform_later(batch)
end
end
end
基本上,一个工作会产生许多子工作。有没有一种简单的方法可以知道所有工作何时完成?我知道我可以在父作业中增加一个计数器,并让每个子作业减少该计数器。但正如任何试图这样做的人都会告诉你的那样,你可能会遇到一些并发症。
任何帮助将不胜感激。
【问题讨论】:
标签: ruby-on-rails sidekiq