gpt4 book ai didi

azure - 为什么我的连续 azure webjob 运行该函数两次?

转载 作者:行者123 更新时间:2023-12-01 09:00:31 24 4
gpt4 key购买 nike

我已经创建了第一个连续运行的 Azure WebJob;

我不太确定这是一个代码问题,但为了完整起见,这里是我的代码:

static void Main()
{
var host = new JobHost();
host.CallAsync(typeof(Functions).GetMethod("ProcessMethod"));
host.RunAndBlock();
}

对于函数:

[NoAutomaticTrigger]
public static async Task ProcessMethod(TextWriter log)
{
log.WriteLine(DateTime.UtcNow.ToShortTimeString() + ": Started");
while (true)
{
Task.Run(() => RunAllAsync(log));
await Task.Delay(TimeSpan.FromSeconds(60));
}
log.WriteLine(DateTime.UtcNow.ToShortTimeString() + "Shutting down..");
}

请注意,异步任务会触发自己的任务。这是为了确保它们以相同的间隔非常准确地启动。工作本身是下载一个网址,解析并在数据库中输入一些数据,但这不应该与我遇到的多实例问题相关。

我的问题是,一旦运行了大约 5 分钟,就会调用第二个 ProcessMethod,这使我有两个 session 同时执行相同的操作。第二种方法说它是“从仪表板启动”,尽管我 100% 确信我自己没有单击任何内容来启动它。

有人经历过类似的事情吗?

最佳答案

从 Azure 门户中 WebApp 的“缩放”选项卡将实例计数更改为 1。默认情况下,它设置为 2 个实例,这导致它运行两次。

关于azure - 为什么我的连续 azure webjob 运行该函数两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35247523/

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