【发布时间】:2021-07-16 08:45:11
【问题描述】:
我有一个 Azure Durable Function (v3),计划在周六晚上 20:30(晚上 8:30)运行。星期天早上我看到它没有运行,所以我安排它在星期一的 20:30 运行。我通过使用新的 TimerTrigger 设置部署新的 zip 包来做到这一点。该应用程序在周一运行,但它并没有完成我希望它完成的所有工作。周三 13:00 左右,我添加了一些日志记录,并安排应用程序在每天 20:30 运行:
public async Task Start([TimerTrigger("0 30 20 * * *")] TimerInfo timerInfo,
[DurableClient] IDurableOrchestrationClient starter,
ILogger log)
{
// ...
}
我今天(星期四早上)检查了该功能并没有触发。我在 Azure 存储上打开了日志,我只看到了从星期一开始的运行:
2021-04-19T20:30:00.058 [Information] Executing 'KreptdIntegration_Start' (Reason='Timer fired at 2021-04-19T20:30:00.0215809+00:00', Id=8c40e15b-a740-4956-a6e6-b90b8fe95f3a)
2021-04-19T20:30:00.338 [Information] Started orchestration with ID = 'kreptdintegrationsingleinstance'.
2021-04-19T20:30:00.364 [Information] Executed 'KreptdIntegration_Start' (Succeeded, Id=8c40e15b-a740-4956-a6e6-b90b8fe95f3a, Duration=331ms)
在 Azure 门户中函数的监控部分,我还只能看到有关周一运行的信息:
为什么函数没有触发?是否有可能我安排的功能太晚了? (我安排在 13:00 左右运行,当天 20:30 运行。如果是用 C# 编写并部署为包的函数,是否可以从 Azure 门户手动触发该函数?
【问题讨论】:
-
我认为你是对的!我没有意识到这一点。你能把它写成答案吗?如果它有效,我会在晚上投票并接受(我坚信它会!)
-
这个问题你解决了吗?如果文档对您的问题有帮助,您可以自己在下面发布答案。
标签: c# .net azure-functions azure-durable-functions timer-trigger