gpt4 book ai didi

具有队列和 System.Threading.Timer 的 Azure WebJob

转载 作者:行者123 更新时间:2023-12-03 03:10:33 24 4
gpt4 key购买 nike

我正在使用 Azure WebJob 成功从服务总线队列获取消息。但我想使用同一个 WebJob 每 5 秒运行一些方法。

我尝试了以下方法,并且在本地运行良好,但是当我发布时它只运行一次。 azure 日志上没有错误。

我做错了什么?

感谢您的帮助。

   static void Main()
{
try
{

var testTimer = new System.Threading.Timer(e => TestMethod(), null, TimeSpan.FromSeconds(0), TimeSpan.FromSeconds(5));

SetupJobHost();
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}

private static void TestMethod()
{
Console.WriteLine("Test");
}

最佳答案

我建议采取不同的方法并使用 TimerTrigger 。您可以使用一个简单的 chron 表达式来使您的方法按设定的时间表执行。如果您采用此路线,请确保将 WebJob 部署为触发作业(不是连续的!),并且在调用之前调用 JobHostConfigurationUseTimers() 方法JobHostRunAndBlock 方法。与滚动您自己的计时器服务相比,这是一种更简单、更干净的方法。

关于具有队列和 System.Threading.Timer 的 Azure WebJob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38797331/

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