Ruby Rake任务API超时错误
我有一个相当笼统的问题。我已经编写了一个相当大的rake任务,它需要经过几个API调用。在每个API调用中,我都编写了一个故障保护程序,如Ruby Rake任务API超时错误,ruby,api,email,timeout,Ruby,Api,Email,Timeout,我有一个相当笼统的问题。我已经编写了一个相当大的rake任务,它需要经过几个API调用。在每个API调用中,我都编写了一个故障保护程序,如 if response.code != 200 Email.delete 因此,这样做没有任何问题-如果整个脚本中的任何API调用都给出了除200以外的任何响应代码,那么它将中止。然而,在100次中,似乎至少有1-2次出现超时错误。脚本将冻结一段时间,然后抛出超时错误 def do_rake_task # work goes here...
if response.code != 200
Email.delete
因此,这样做没有任何问题-如果整个脚本中的任何API调用都给出了除200以外的任何响应代码,那么它将中止。然而,在100次中,似乎至少有1-2次出现超时错误。脚本将冻结一段时间,然后抛出超时错误
def do_rake_task
# work goes here...
# I hope it isn't scraping email addresses for spam...
rescue Timeout::Error => e
# log #{e} for later, maybe
Email.delete
end
如果脚本在任何时候超时,如何避免超时错误并确保脚本正在运行Email.delete
重要的是,我的脚本正在创建约10000封电子邮件。如果中途超时,我不想重新发送所有~10000封电子邮件。我宁愿删除所有电子邮件并重新开始。您可以
从超时错误中营救
def do_rake_task
# work goes here...
# I hope it isn't scraping email addresses for spam...
rescue Timeout::Error => e
# log #{e} for later, maybe
Email.delete
end
救援
,就这样了。我根据内容文件中的内容发送电子邮件,没有垃圾邮件检查。谢谢你的帮助。