Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Rake任务API超时错误_Ruby_Api_Email_Timeout - Fatal编程技术网

Ruby Rake任务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...

我有一个相当笼统的问题。我已经编写了一个相当大的rake任务,它需要经过几个API调用。在每个API调用中,我都编写了一个故障保护程序,如

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

救援
,就这样了。我根据内容文件中的内容发送电子邮件,没有垃圾邮件检查。谢谢你的帮助。