Method: Flydata::QueryBasedSync::ResourceRequester#each_response
- Defined in:
- lib/flydata/query_based_sync/resource_requester.rb
#each_response(table_name, interval = 1) ⇒ Object
Fetch resources for a table It may call the callback multiple times in the following cases
- The resource size is bigger than the max size per request
- Resume to fetch resources if resume info exists in per-table position file
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/flydata/query_based_sync/resource_requester.rb', line 36 def each_response(table_name, interval = 1) latest_src_pos = context.source_pos_class.new(context..current_snapshot) loop do responses = fetch_responses_once(table_name, latest_src_pos) break if responses.nil? || responses.empty? responses.each do |response| yield response end break if responses.last.new_source_pos >= latest_src_pos sleep interval # to avoid rush end nil end |