是否可以延迟计时器触发的天蓝色函数的执行?

时间:2018-10-09 04:17:29

标签: azure-functions

我有一个定期运行的计时器。有时,另一个函数(由不同的事件触发)将计时器的工作作为其工作的清理工作。是否可以告诉azure“假装此计时器刚刚触发,并延迟到下一个计划时间”。

“在此计划的选定时间(例如:每小时10分钟后)”和“在最后一次执行后10分钟”的时间表中有2种模式。

我的计时器当前处于后一种模式。 我正在使用v2函数。

2 个答案:

答案 0 :(得分:1)

计时器触发功能的时间表是固定的,如果不更新应用程序就无法更新,因此您真正描述的内容是不可能的。

如果您需要对工作安排进行一些动态控制,则必须使用Durable Functions。具体来说,有一个Monitor模式,该模式演示了如何创建按动态计划执行的长时间运行的流程。使用此模式,您可以在timer到期时检查上次清理时间,然后执行逻辑或安排下一次检查,例如10分钟后。

答案 1 :(得分:0)

为什么会有两个函数(部分地)做同一件事?我会考虑让负责计时器工作的Function做为清理工作,以使其 not 不执行计时Function。它可能会触发另一个功能部门为他完成工作。您可以考虑使用HttpTrigger或QueueTrigger。

就您的问题而言:函数应为idempotent。我会考虑将清理函数重构为智能的,并检查是否有工作要做。它没有,只是结束执行。否则,请清理它。