c# - 是否可以通过顺序执行执行Azure函数计时器触发器?

标签 c# multithreading azure azure-functions timer-trigger

我想通过顺序执行来执行 Azure 计时器触发器。

假设我有 C# 定时器触发器,间隔为 5 分钟。但函数执行需要8分钟时间。这意味着在第一次调用完成之前,第二个触发器启动另一个线程。我怎样才能避免这种情况?

最佳答案

默认行为是在任何给定时刻只有一个 Azure 函数实例正在运行。引用自 wiki -

If your function execution takes longer than the timer interval, another execution won't be triggered until after the current invocation completes. The next execution is scheduled after the current execution completes.

这是测试函数的日志输出,该函数计划每 30 秒运行一次,但本身需要 40 秒才能执行。

C# 定时器触发函数触发于:8/4/2017 2:21:50 PM。 C# 定时器触发函数执行于:8/4/2017 2:22:30 PM。执行次数1

C# 定时器触发函数触发于:8/4/2017 2:22:30 PM。 C# 定时器触发函数执行于:8/4/2017 2:23:10 PM。执行次数2

C# 定时器触发函数触发于:8/4/2017 2:23:10 PM。 C# 定时器触发函数执行于:8/4/2017 2:23:50 PM。执行次数3

关于c# - 是否可以通过顺序执行执行Azure函数计时器触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45503005/

相关文章:

c# - 异常捕获

c# - 一个良好的、完整的 C# 单声道兼容游戏引擎

python - "Pythonic"多线程(并发)语言

asp.net-mvc - Azure 网站中的 ASP.NET MVC4 + Ninject + NLog = 问题

c# - WPF - 将 List<T> 绑定(bind)为 WrapPanel 的内容

c# - Epplus 获取正确的单元格背景 rgb 颜色

c - pthread_cond_wait(条件变量)如何仅一次而不是多次解锁所有线程?

c# - 在同一个线程中锁定字典

azure - 如何在azure门户中配置多级虚拟目录?

从 Azure CLI 应用 ansible playbook 时出现 Azure MSI token 问题