Ruby on rails sidekiq如何知道批处理何时拥有所有作业?

Ruby on rails sidekiq如何知道批处理何时拥有所有作业?,ruby-on-rails,ruby,sidekiq,Ruby On Rails,Ruby,Sidekiq,在上面的代码中,可能会在添加下一批作业之前调用回调。因此,有没有方法通知sidekiq pro不要调用回调,因为该批作业尚未添加?没有,您不能这样做。完成第一个作业块后,您将无法安全地向该批添加更多作业,除非从该批中的另一个作业中添加。不,您无法这样做。完成第一个作业块后,将无法安全地向批中添加更多作业,除非从该批中的另一个作业中添加 batch = Sidekiq::Batch.new batch.description = "Batch description (this is option

在上面的代码中,可能会在添加下一批作业之前调用回调。因此,有没有方法通知sidekiq pro不要调用回调,因为该批作业尚未添加?

没有,您不能这样做。完成第一个作业块后,您将无法安全地向该批添加更多作业,除非从该批中的另一个作业中添加。

不,您无法这样做。完成第一个作业块后,将无法安全地向批中添加更多作业,除非从该批中的另一个作业中添加

batch = Sidekiq::Batch.new
batch.description = "Batch description (this is optional)"
batch.on(:success, MyCallback, :to => user.email)
batch.jobs do
  rows.each { |row| RowWorker.perform_async(row) }
end

sleep(x_seconds)

batch.jobs do
  rows.each { |row| RowWorker.perform_async(row) }
end

puts "Just started Batch #{batch.bid}"