gpt4 book ai didi

Azure Functions 核心工具 - 隐藏触发器或缓存?

转载 作者:行者123 更新时间:2023-12-02 06:41:53 27 4
gpt4 key购买 nike

我正在使用 Visual Studio 2019 开发简单的 azure 函数。我正在使用 Azure Functions Core Tools,因为每次启动项目时都会启动它们。

这些功能是时间触发和事件触发的。每次我再次启动项目时,Azure Functions Core Tools 也会启动 - 现在有线正在发生:

看起来这些函数不仅按预期从当前运行时调用一次,而且还从旧触发器调用一次,仍然在后台运行。如果停止在其中一个函数中,它有时会从我之前运行的项目中获取“旧”数据。我还收到有关未知函数的警告,我之前在项目中重命名了数十次运行。

我清除了项目的/bin/路径 - 但旧函数似乎还存在于 Azure Functions Core Tools 的隐藏缓存或隐藏运行时之类的地方。

在 Azure Functions Core Tools 中项目每次新启动之前,是否可以运行主停止或主清理?

这种行为是否也会发生在真实的 Azure 环境中 - 因为我看到时间触发的函数以更快的周期运行,因为它们应该运行 - 可能是由之前发布的实例中仍在运行的计时器触发的?

最佳答案

如果您正在使用 Durable Framework(基于您之前的问题),则需要删除存储工件,否则它将执行之前未完成的执行。

有几种方法可以做到这一点:

[FunctionName("PurgeInstanceHistory")]
public static Task Run(
[DurableClient] IDurableOrchestrationClient client,
[TimerTrigger("0 0 12 * * *")]TimerInfo myTimer)
{
return client.PurgeInstanceHistoryAsync(
DateTime.MinValue,
DateTime.UtcNow.AddDays(-30),
new List<OrchestrationStatus>
{
OrchestrationStatus.Completed
});
}

您还可以使用 CLI:

func durable delete-task-hub --task-hub-name UserTest

作为另一个选项,您可以使用 Microsoft Azure 存储资源管理器并将其连接到本地存储模拟器来手动删除工件:

enter image description here

关于Azure Functions 核心工具 - 隐藏触发器或缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60554382/

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