我有一个需要在“块”中进行的API调用(由于API限制)。然后我会遍历这些数据。
所有这些都发生在rake任务中。
这是循环:
Stripe::Event.all(:count => 100, :offset => 0).each do |event|
end
但是我需要将offset
参数增加100(即100,200,300)才能实际循环遍历所有事件。
那么在rake任务中增加offset
参数的最佳方法是什么?
答案 0 :(得分:1)
如果Stripe :: Event是ActiveRecord模型,我认为您正在寻找:
Stripe::Event.find_in_batches(:batch_size => 100).each do |batch|
batch.each do |event|
...
end
end
否则我认为您可以查看http://apidock.com/rails/ActiveRecord/Batches/find_in_batches获取有关如何解决此问题的灵感。
最直接的就是
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