Azure Function - 优雅地处理超时

问题描述 投票:0回答:1

我有两个 Azure Functions(单独的函数应用程序):

  1. TimerFunctionOne - 这是一个可能长时间运行的进程,每小时启动一次。
  2. TimerFunctionTwo - 生命周期较短的进程,每 60 秒运行一次。

我的目标是在 TimerFunctionOne 仍在执行时阻止 TimerFunctionTwo 运行。

目前,我将 TimerFunctionOne 日志记录到数据库以标记其启动和停止时间。 TimerFunctionTwo 可以检查此标志以确定它是否可以运行。

问题:如果 TimerFunctionOne 由于超时而崩溃,它没有机会影响数据库中的标志,因此 TimerFunctionTwo 会被阻止,因为它认为 TimerFunctionOne 仍在运行。

我认为我能做的最好的事情就是让 TimerFunctionOne 在执行期间定期更新标志(时间戳)。然后,TimerFunctionTwo 可以根据上次更新标志的时间推断 TimerFunctionOne 的状态。

我很好奇是否有更好/更精确的方法来实现我的目标。

c# azure-functions
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.