当延迟任务失败时进行作业,因此它会自动执行

我们的应用程序托管在heroku上,并且在向远程系统发送信息时使用延迟作业(通过GET方式将URL传递给一些url参数)

远程系统通常会返回一个成功代码,但它真的很忙,它会返回一个tryagain代码。

假设我们的方法是

def send_info
   the_url = "http://mydomain.com/dosomething?arg=#{self.someval}"
   the_result = open(the_url).read
   successflag = get_success_flag_from(the_result)
end

所以我们的代码在某处

@widget.delay.send_info

而且一切正常。

除非它自动处理遥控器稍后尝试返回的情况。

send_info方法(这是什么延迟作业将执行)有什么办法来“告诉”delayed_job“再次重试我”? 我们是否需要抛出一些自定义异常或什么?


提出任何类型的异常应该会导致delayed_job重新排序(仅限于尝试很多次); 如果您不特别需要自定义异常,则可以引发RuntimeError

链接地址: http://www.djcxy.com/p/65775.html

上一篇: job when a delayed task fails so it will auto

下一篇: actionmailer delayed job error