Ruby on rails rake任务中的增量参数
我有一个API调用,需要在“块”中进行(由于API限制)。然后我会循环浏览这些数据 所有这些都发生在一个rake任务中 以下是循环:Ruby on rails rake任务中的增量参数,ruby-on-rails,ruby-on-rails-3,rake,each,increment,Ruby On Rails,Ruby On Rails 3,Rake,Each,Increment,我有一个API调用,需要在“块”中进行(由于API限制)。然后我会循环浏览这些数据 所有这些都发生在一个rake任务中 以下是循环: Stripe::Event.all(:count => 100, :offset => 0).each do |event| end 但是我需要将offset参数增加100(即100200300),以便实际能够循环所有事件 那么,在rake任务中增加offset参数的最佳方法是什么呢?如果Stripe::Event是一个ActiveRecord模型
Stripe::Event.all(:count => 100, :offset => 0).each do |event|
end
但是我需要将offset
参数增加100(即100200300),以便实际能够循环所有事件
那么,在rake任务中增加
offset
参数的最佳方法是什么呢?如果Stripe::Event是一个ActiveRecord模型,我想您正在寻找:
Stripe::Event.find_in_batches(:batch_size => 100).each do |batch|
batch.each do |event|
...
end
end
否则,我想你可以看看如何解决这个问题的灵感
最直截了当的是
events = "not blank"
count = 100
offset = 0
until events.blank? do
events = Stripe::Event.all(:count => count, :offset => offset)
events.each do |event|
end
offset += count
end
在第一次调用rake任务时,偏移量为0;第二次调用rake任务时,偏移量应为100;等等是这样吗?@JatinGanhotra是的,没错。