如果我有一个azure函数,每5分钟在计时器触发器上运行一次,那么如果一个 run 需要超过5分钟,会发生什么??
下一个计时器会触发,无论当前执行触发器如何?
我问的原因:我需要确保一次只运行1个Azure函数(是的,我知道这种符合函数的概念)。如果一次跑步<5分钟(大部分时间应该),很棒 - 在下一个5分钟的窗户上开始下一个。如果没有结束,请不要拉开。
我更喜欢使用Azure函数,但是在这种情况下 - 我应该不打扰并简单地使用不断运行的Azure Webjob吗?
谢谢!
,如TimerTrigger Wiki页面所述:
如果您的函数执行时间比计时器间隔更长,则直到当前调用完成后才触发另一个执行。当前执行完成后,安排下一个执行。
因此,您应该获得您已经在寻找的行为 - 只有在任何给定时间运行的单个功能调用。
在计时器触发器上,您可以选择设置" timespan"而不是" ncrontab"计时器。
此间隔在执行完成后立即开始计数,并设置为这样的设置:
{
"bindings": [
{
"name": "myTimer",
"type": "timerTrigger",
"direction": "in",
"schedule": "00:01:00"
}
]
}
有关MS文档的更多信息。