Ruby on rails 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模型

我有一个API调用,需要在“块”中进行(由于API限制)。然后我会循环浏览这些数据

所有这些都发生在一个rake任务中

以下是循环:

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是的,没错。