gpt4 book ai didi

c# - Azure 云服务 OnStop

转载 作者:行者123 更新时间:2023-11-30 21:54:05 25 4
gpt4 key购买 nike

我使用 Azure 云辅助角色来处理来自队列的传入任务。每个任务的处理最多可能需要几个小时,每个工作角色最多可以同时处理 N 个任务。基本上,它正在工作。

现在,您可以阅读documentation有时,辅助角色可以关闭(用于软件更新、操作系统升级等)。基本上,没问题。但是,此计划关闭无法强制停止工作角色已经运行的任务

预期:

当环境调用OnStop()方法时:

  1. 辅助角色将停止获取新任务进行处理。
  2. 等待正在运行的任务完成。
  3. 继续按计划关闭。

实际:

OnStop() 方法最多可被阻塞5 分钟。我不能保证我会在 5 分钟内完成任务的处理 - 所以,这是问题...我的任务在处理过程中被终止,这对我的软件来说变得不稳定。

我怎样才能避免这 5 分钟的限制?欢迎任何提示。

最佳答案

How I'm can avoid this 5 minutes limit?

不幸的是,你不能。这是 Azure 方面施加的硬性限制。您需要解决这个问题。

我能想到两种可能的解决方案,它们都需要您重新考虑当前的架构:

  1. 将一项大任务分解为许多较小的任务,并创建某种工作流程。
  2. 使您的任务具有幂等性,这样即使它在中间被终止(由于工作角色关闭或任务本身的错误)并且当它被另一个实例拾取时,它也会以这样的方式重新启动:您的输出任务没有损坏。

关于c# - Azure 云服务 OnStop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33484445/

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