Azure函数与计时器触发器运行两次

问题描述 投票:1回答:1

我遇到了类似于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上所请求的信息:

  1. 我正在使用消费计划
  2. 不确定需要多少信息 - 我们使用Azure DevOps管道和Kudu。
  3. v2(预览)运行时
  4. 未设置WEBSITE_TIME_ZONE
  5. 我的CRON表达式:0 * / 15 * * * *我对它意味着什么的期望:函数应该每15分钟运行一次。
  6. N / A
  7. 从近距离开始提供两个 - 调用ID:4e142315-60e3-420d-b71a-9990683ba5aa 调用日期时间:2019-04-18T17:45:00.0044464 + 00:00 地区:美国东部 调用ID:4c6f4e7a-1e9d-4278-b3c6-0a2b5310199c 调用日期时间:2019-04-18T17:45:00.0131739 + 00:00 地区:美国东部

示例日志记录显示两个重叠的调用(为简单起见,略微编辑了实际日志文本):

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)

azure azure-functions crontrigger
1个回答
1
投票

看起来2个调用ID来自2个不同的应用程序(prod / dev可能是?)您是否能够根据App名称过滤日志以验证它是否是相同的触发器两次触发?

© www.soinside.com 2019 - 2024. All rights reserved.