Ruby Rake任务API超时错误



我有一个相当普遍的问题。我已经编写了一个相当大的rake任务,它要经过几个API调用。在每次API调用中,我都编写了一个类似的故障保险

if response.code != 200
    Email.delete

因此,这可以在没有任何问题的情况下工作-如果整个脚本中的任何API调用给出的响应代码不是200,它将中止。然而,在100次中,我似乎至少有1-2次出现超时错误。脚本将冻结一段时间,然后抛出超时错误。

如果脚本在任何时候都超时了,我如何逃脱超时错误并确保我的脚本正在运行Email.delete?

总体而言,我的脚本正在创建大约10000封电子邮件。如果中途超时,我不想重新发送大约10000封电子邮件。我宁愿删除所有的电子邮件,然后重新开始。

您可以从超时错误中rescue

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

相关内容

  • 没有找到相关文章

最新更新