我正在编写一个 Ruby 1.8.7 脚本,它必须从服务器请求非常大的 XML 文件(1 - 5MB),这非常慢(1MB 需要 1 分钟 30 秒)。请求的文件被写入磁盘。
我将脚本中的超时设置为荒谬的秒数,因为我真的想获取文件,而不仅仅是在花费太长时间时继续前进。仍然有大量的秒我不断超时。
对此有最佳做法吗?
现在我用
open(DIR + "" + number + "" + ".xml", 'wb') do |file|
begin
status = Timeout::timeout(6000000) do
file << open(url).read
end
rescue Timeout::Error => e
Rails.logger.info "Timeout for:" + number.to_s
end
end
现在以秒为单位设置了超时时间,这将6000000
超过 1 分 30 秒,但不知何故,它并没有以秒为单位使用我的超时时间。再次注意,我仅限于使用 Ruby 1.8.7