Azure WebJob在处理时突然关闭



我有一个连续的Azure WebJob,它被设置为"始终打开"。此WebJob应该处理添加到存储队列中的新消息。

我想知道,如果由于某种原因,WebJob在处理队列触发器时停止了工作,会怎么样。这样,我将丢失队列中的消息,并且它不会进入中毒队列。

如何解决此问题?

我想知道如果由于某种原因WebJob停止工作会怎么样在处理队列触发器时。

首先,如果WebJob在处理消息时退出,则不必担心数据损坏。当WebJob访问要处理的消息时,它会将消息隐藏在队列中一段时间。如果您的WebJob在处理消息时关闭,那么消息将在该时间后再次可用,并且它将被重新获取并根据更新的代码运行。关于细节,你可以参考这个答案。

至于你关于收到通知的要求,工作正在关闭。您可以使用Graceful Shutdown并监听您可以传递给触发函数的CancellationToken,并判断属性IsCancellationRequired的值,然后您可以处理WebJob将关闭。这是关于CancellationToken的示例代码。

最新更新