TimerTrigger计划和代码执行时间



如果TimerTiger每5分钟调用一个函数,并且由于某些原因,代码需要超过5分钟才能完成,会发生什么?

  • 这是否会导致我的函数同时运行两次
  • 还是在触发的代码执行完成时开始间隔

我自己在文件中找不到答案。我必须确保我的函数始终作为singleton运行。

谢谢,Alex

如果函数执行时间超过计时器间隔,则在当前调用完成之前不会触发另一次执行。下一次执行将安排在执行完成之后。你可以在这里的代码中看到这一点。您可以通过尝试一个简单的本地示例来向自己证明这一点——创建一个每5秒运行一次的函数,并在其中休眠一分钟。在第一个函数完成之前,您不会看到另一个函数启动。

至于运行singleton,上面显示了在同一实例(VM)上,在给定的时间只有一个函数调用运行。SDK进一步确保没有其他函数在扩展实例中运行。你可以在这里阅读更多。要想看到这一点,你可以通过在本地启动控制台应用程序的两个实例来进行模拟——一个会运行时间表,另一个不会。然而,如果你杀死了运行时间表的一个,另一个会在短时间后(一分钟内)恢复。

最新更新