gpt4 book ai didi

Azure 触发的 Webjob - 检测 webjob 何时停止

转载 作者:行者123 更新时间:2023-12-02 08:12:29 24 4
gpt4 key购买 nike

我正在开发一个使用 TimerTrigger 的触发式网络作业.

在webjob停止之前,我需要处理一些对象,但我不知道如何触发“webjob停止”。

有了 NoAutomaticTrigger 函数,我知道我可以使用 WebJobsShutdownWatcher当网络作业停止但触发作业时我需要一些帮助来处理的类...

我查看了Extensible Triggers and Binders with Azure WebJobs SDK 1.1.0-alpha1 .

创建一个使用 WebJobsShutdownWatcher 类在 webjob 停止之前触发操作的自定义触发器 (StopTrigger) 是个好主意吗?

最佳答案

好的,答案就在问题中:

是的,我可以使用 WebJobsShutdownWatcher类,因为它有一个 Register 函数,该函数在取消 token 被取消时(即 Webjob 停止时)被调用。

static void Main()
{
var cancellationToken = new WebJobsShutdownWatcher().Token;
cancellationToken.Register(() =>
{
Console.Out.WriteLine("Do whatever you want before the webjob is stopped...");
});

var host = new JobHost();
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}

编辑(基于马修评论):

如果您使用触发函数,则可以将 CancellationToken 参数添加到函数签名中。当主机自动关闭时,运行时将取消该 token ,从而允许您的函数接收通知。

public static void QueueFunction(
[QueueTrigger("QueueName")] string message,
TextWriter log,
CancellationToken cancellationToken)
{
...
if(cancellationToken.IsCancellationRequested) return;
...
}

关于Azure 触发的 Webjob - 检测 webjob 何时停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35166010/

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