Azure功能核心工具-隐藏触发器还是缓存?

Azure功能核心工具-隐藏触发器还是缓存?,azure,azure-functions,azure-functions-core-tools,Azure,Azure Functions,Azure Functions Core Tools,我正在用VisualStudio2019开发简单的azure函数。我正在使用Azure功能核心工具,因为每次启动项目时都会启动这些工具 功能分为时间触发和活动触发。每次我再次启动我的项目时,Azure功能核心工具也会启动-现在有线电视正在发生: 看起来这些函数不仅像预期的那样从当前运行时调用一次,而且从旧触发器调用一次,仍然在后台运行。如果在其中一个函数中停止,它有时会从以前运行的项目中获取“旧”数据。我还收到关于未知函数的警告,我在我的项目中重命名了十几次 我清除了我项目的/bin/路径,但是

我正在用VisualStudio2019开发简单的azure函数。我正在使用Azure功能核心工具,因为每次启动项目时都会启动这些工具

功能分为时间触发和活动触发。每次我再次启动我的项目时,Azure功能核心工具也会启动-现在有线电视正在发生:

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

我清除了我项目的/bin/路径,但是旧函数似乎在Azure函数核心工具的隐藏缓存或隐藏运行时中仍然存在

在Azure Functions Core Tools中,我的项目每次新开始之前,是否都可以运行主停止或主清理功能?


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

如果您使用的是持久框架(基于前面的问题),您需要删除存储工件,否则,它将执行以前未完成的执行

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

[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
        });
}
作为另一个选项,您可以使用Microsoft Azure Storage Explorer手动删除工件,并将其连接到本地存储模拟器:


完美。通过定时功能,我可以在azure上定期执行此操作吗?或者,如果我只有一个编排的函数,我可以在每次运行该函数之前执行此操作?您可以随时清理。如果没有表,它将为您创建一个新表。关于时间触发,我不确定…需要研究一下
func durable delete-task-hub --task-hub-name UserTest