2017-02-22 183 views
0

我有一个消费计划的Azure功能设置,其中包含6个独立的计时器触发功能。Azure时间触发功能不触发

  • 3人开火5每隔一小时过去一小时(0 5 * * * *)
  • 其中1个在他们的午夜(0 0 0 * * *)
  • 1每晚火灾上午8点(0 0 8 * *星期一)
  • ,最后一个在星期一火灾应该每天早上火凌晨1点(0 0 1 * * *),但不是

他们都同一个应用程序的副本,但根据命令行参数做不同的事情。它们由包含相应命令行参数的Run.ps1 Powershell脚本触发。

昨天09:40我试着手动运行问题函数并运行,所以我将计划更改为(0 0 11 * * *),并按预期在早上11点运行。所以我改变了计划回(0 0 1 * * *),但在凌晨1点今天早上没跑:(

enter image description here

我要去尝试,使其运行在修改日程凌晨2点如果在凌晨1点有什么问题导致问题,但除了我还可以尝试其他方法吗?

+0

我有与消费计划/函数应用程序和Timer + EventHub触发器相同的问题。如果应用程序不活动,则不会触发这些触发器。当我在App中触发一个HttpRequest时,它会“活着”,其他触发器会运行一段时间。建议MS支持完全删除和重新部署功能应用程序。这有助于一段时间。我将转向应用程序服务环境,并因此尽快制定专门的计划,并且不会出现问题。我有其他想法:经常使用AppInsights发出一个空的Web Test/Http请求。但这些都是解决方法 - 根本原因没有解决。 –

+0

你们是否会/公开或秘密地共享你的功能应用程序名称(https://github.com/projectkudu/kudu/wiki/Reporting-your-site-name-without-posting-it-publicly) 。我可以挖掘日志,看看我能否弄清楚发生了什么。 – brettsam

+0

tht-test-function – littlecharva

回答

1

我认为如果您的计时器已过期,您可能会遇到问题。我已在此提交问题:https://github.com/Azure/azure-webjobs-sdk-extensions/issues/194

在我翻阅的日志中,我看到你的函数应用程序在1am之前重新启动,这是由于对function.json文件的更改。当它恢复时,已经过了凌晨1点(本应该导致它运行),但因为它以前从未运行过,我们不正确地重新计算了“下一个”时间。

我正在为此寻找修复方法 - 您可以按照上面的链接进行操作。

如果您或@KaiWalter看到更多的缺少函数调用的实例,请告诉我,以便我可以验证这是发生了什么。

+0

感谢brettsam。 – littlecharva

+0

我有另一个函数没有运行的例子:相同的帐户,功能应用程序与m2在名称和有问题的函数称为ComparisonTest。它应该在午夜运行,但日志显示它没有。你能否确认这是否是由于同一问题? – littlecharva

+0

是的,它看起来是一样的问题。感谢您的信息,这有助于确认它。 – brettsam

0

如果您的功能应用程序指定了非默认时区(使用APPSETTING_WEBSITE_TIME_ZONE),则很可能会遇到已知问题: https://github.com/Azure/azure-webjobs-sdk-script/issues/995

该问题的修复已经开始部署,部署应该按照结束完成一周。

+0

我没有使用它,但感谢您的更新。 – littlecharva

+0

好的,但在这种情况下,请注意您的日程安排基于UTC时间。难道这就是为什么当你期望它不能运行吗? –

+0

好点,但午夜的一个运行良好,并且因为我已将它更改为凌晨2点,它似乎工作正常。 – littlecharva