API 由于限制和偏移而超时
API times out due to limit and offset
我正在尝试从我们客户的一个跑道实例中提取项目。它有大约 35k 条记录,所以我将限制和偏移量设置为 500
loop do
current_offset_value = offset.next
puts "LIMIT: #{LIMIT}, OFFSET: #{current_offset_value}"
Podio::Item.find_by_filter_id(app_id, view_id, limit: LIMIT, remember: true, offset: offset.next).all.each do |item|
yield item
end
end
但是,代码在前两次调用后挂起并且returns超时错误
LIMIT: 500, OFFSET: 0
LIMIT: 500, OFFSET: 500
creates a CSV file from a table (FAILED - 1)
Failures:
SourceTableSync::LocalCsvDumper::CitrixPodio creates a CSV file from a table
Failure/Error:
Podio::Item.find_by_filter_id(app_id, view_id, limit: LIMIT, remember: true, offset: current_offset_value).all.each do |item|
yield item
end
Faraday::TimeoutError:
Net::ReadTimeout with #<TCPSocket:(closed)>
看起来 Podio API 在获取 500 个项目时超时,可能是您的项目很大或者与其他应用程序有某种关系,并且获取所有项目需要太多时间。
我会尝试一些较小的数字(例如 100 或 200)看看是否可行:)
我正在尝试从我们客户的一个跑道实例中提取项目。它有大约 35k 条记录,所以我将限制和偏移量设置为 500
loop do
current_offset_value = offset.next
puts "LIMIT: #{LIMIT}, OFFSET: #{current_offset_value}"
Podio::Item.find_by_filter_id(app_id, view_id, limit: LIMIT, remember: true, offset: offset.next).all.each do |item|
yield item
end
end
但是,代码在前两次调用后挂起并且returns超时错误
LIMIT: 500, OFFSET: 0
LIMIT: 500, OFFSET: 500
creates a CSV file from a table (FAILED - 1)
Failures:
SourceTableSync::LocalCsvDumper::CitrixPodio creates a CSV file from a table
Failure/Error:
Podio::Item.find_by_filter_id(app_id, view_id, limit: LIMIT, remember: true, offset: current_offset_value).all.each do |item|
yield item
end
Faraday::TimeoutError:
Net::ReadTimeout with #<TCPSocket:(closed)>
看起来 Podio API 在获取 500 个项目时超时,可能是您的项目很大或者与其他应用程序有某种关系,并且获取所有项目需要太多时间。
我会尝试一些较小的数字(例如 100 或 200)看看是否可行:)