gpt4 book ai didi

azure - 在失败并出现异常 N 次后重新运行 azure webjobs

转载 作者:行者123 更新时间:2023-12-04 02:18:12 25 4
gpt4 key购买 nike

我有一个网络工作,可以从互联网上获取文件并进行处理。我已将其绑定(bind)到每天午夜运行的调度程序。

有时,抓取文件进程会失败并引发异常,从而导致 Web 作业崩溃并停止,直到调度程序第二天再次启动。

为了阻止应用程序崩溃,我的一个选择是用 try-catch block 包装它并处理错误。但我希望能够在失败后重新运行网络作业。

有没有办法让我告诉azure调度程序在失败后重新运行任务N次?

例如,我希望 Web 作业在 5 分钟失败后重新运行最多 5 次。我不想等到第二天调度程序启动。

最佳答案

Is there a way for me to tell the azure scheduler to re-run the task for N number of times after it fails?

Azure Scheduler没有提供验证“远程”执行是否成功的方法,但您可以使用“存储队列”Action Type将消息放入指定队列并实现网络作业本身的行为相同。 Azure Web Jobs SDK将处理传入消息并重试 up to 5 times如果抛出异常,队列处理器也是可扩展的(从 1.1 开始),因此您可以轻松实现指数重试策略或您需要的任何策略(通过扩展 QueueProcessorQueueProcessorFactory 类)。

步骤:

  1. 更新您的实际 Web 作业以使用队列(通过使用 [QueueTrigger("myqueue")] ),并将其配置为“连续运行”(在 VS 项目和 Azure Web 应用中)。
  2. 创建“存储队列”类型的 Azure 调度程序作业,这会将消息推送到上述队列中。

enter image description here

注意:此选项需要您的 Web 应用程序处于标准层(由于“连续运行”)

关于azure - 在失败并出现异常 N 次后重新运行 azure webjobs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32787883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com