2017-02-28 61 views
2

如果我有一個每5分鐘運行一次定時器觸發的Azure功能,如果一個運行需要5分鐘以上,會發生什麼情況?Azure功能定時器觸發橫向擴展

無論當前是否執行任何觸發器,下一個定時器觸發器是否會啓動?

我想問的原因:我需要確保一次只能運行一個Azure函數(是的,我知道這種做法違背了函數的概念)。如果一次運行需要5分鐘(應該大部分時間)需要<,那麼在接下來的5分鐘時間內啓動下一個。如果沒有完成,請不要啓動。

我更喜歡使用Azure函數,但在這種情況下 - 我應該不打擾並簡單地使用連續運行的Azure WebJob來代替?

謝謝!

+0

請注意:如果您使用的是消費計劃,Azure功能將不允許運行超過5分鐘,並且會在此時被殺死。 – Mikhail

+0

@Mikhail有趣。對此有何參考? – RPM1984

+0

現在找不到文檔參考,但例如看到這個github問題https://github.com/Azure/Azure-Functions/issues/75 – Mikhail

回答

6

正如TimerTrigger wiki page描述:

如果你的函數執行比定時器間隔時間較長,另一個執行不會被觸發,直至當前調用完成後。下一次執行將在當前執行完成後計劃。

所以你應該得到你正在尋找的行爲 - 只有在任何給定時間運行的單個函數調用。

+0

完美,謝謝! – RPM1984