2012-04-03 3 views
0

API 제한 때문에 "청크"로 만들어야하는 API 호출이 있습니다. 그런 다음 그 데이터를 반복 할 것입니다.레이크 작업의 매개 변수 증가

이 모든 것은 갈퀴 작업에서 발생합니다.

여기에 루프입니다 :

Stripe::Event.all(:count => 100, :offset => 0).each do |event| 

end 

하지만 실제로 모든 이벤트를 통해 루프 할 수 있도록 (100) (즉, 100, 200, 300.)에 의해 offset 매개 변수를 증가해야합니다.

레이크 작업 내에서 offset 매개 변수를 늘리는 가장 좋은 방법은 무엇입니까? 스트라이프 :: 이벤트는 액티브 모델 인 경우

+0

, 같은 것; 두 번째로 레이크 작업을 호출 할 때 오프셋은 100이어야합니다. 등등. 그런가요? –

+0

@JatinGanhotra 네, 맞습니다. – Shpigford

답변

1

, 나는 당신이 찾고있는 생각 :

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 볼 수 있었다 생각합니다.

가장 정직하고는 0이 될 것 오프셋 작업을 긁어 첫 번째 통화에서

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 
관련 문제