我遇到了类似于Azure Function timer is running twice and when I log onto the Azure portal的情况,但到目前为止我的解决方案对我来说没有用。
我的函数(用Node编写)在一个计时器上运行(每15分钟一次)。在Application Insights和Azure门户监视器日志中,我按预期每15分钟进行一次调用(可能是由于采样)。但是,输出发生了两次(我正在为Cosmos集合写一条记录)。当我观察我的功能的实时日志时(在门户中,导航到功能代码并从屏幕底部拉出日志)我可以看到它运行了两次,非常接近。以下示例日志。间隔重叠,所以我不认为这是一个CRON问题(但我不是CRON专家)。
我确实考虑过runOnStartup。我不确定是否默认为false,因此我将其设置为false并重新启动。重启后同样的问题。 (我仍然怀疑这一点,因为一分钟计时器上的类似功能应用按预期运行)。
我也试过手动从门户运行该功能。当我这样做时,它只运行一次。
提供Azure函数github wiki上所请求的信息:
示例日志记录显示两个重叠的调用(为简单起见,略微编辑了实际日志文本):
2019-04-18T17:45:00.004 [信息]执行'Functions.unassignDriverPermits'(原因='计时器在2019-04-18T17:45:00.0044464 + 00:00',Id = 4e142315-60e3-420d-b71a 9990683ba5aa)
2019-04-18T17:45:00.013 [信息]执行'Functions.unassignDriverPermits'(原因='计时器在2019-04-18T17:45:00.0131739 + 00:00',Id = 4c6f4e7a-1e9d-4278-b3c6- 0a2b5310199c)
2019-04-18T17:45:33.577 [信息]记录关于某事的事情
2019-04-18T17:45:33.577 [信息]记录关于id 0的事情
2019-04-18T17:45:33.586 [信息]执行'Functions.unassignDriverPermits'(成功,Id = 4e142315-60e3-420d-b71a-9990683ba5aa)
2019-04-18T17:45:33.281 [信息]记录关于某事的事情
2019-04-18T17:45:33.282 [信息]记录关于id 0的事情
2019-04-18T17:45:33.294 [信息]执行'Functions.unassignDriverPermits'(成功,Id = 4c6f4e7a-1e9d-4278-b3c6-0a2b5310199c)
看起来2个调用ID来自2个不同的应用程序(prod / dev可能是?)您是否能够根据App名称过滤日志以验证它是否是相同的触发器两次触发?