gpt4 book ai didi

azure - 连续执行Azure Function

转载 作者:行者123 更新时间:2023-12-03 02:21:13 25 4
gpt4 key购买 nike

如果我安排计时器触发的 Azure 函数每秒运行一次,而我的函数需要 2 秒才能执行,我会连续执行还是某些执行队列最终会溢出?

背景:

我们有一个计时器触发的 Azure 函数,当前每 30 秒执行一次,并检查数据库表中的新行。如果有新行,则会处理数据并将行标记为已处理。

如果没有新行,执行速度会非常快。如果有 500 个新行(这是我们目前获取的最大值),则执行大约需要 20-25 秒。

我们希望将间隔减少到一秒,以减少延迟或行处理。

更新:我想要连续执行,并且希望避免重叠执行。

最佳答案

多个azure函数可以同时运行。这意味着当之前触发的函数仍在运行时,您仍然可以再次触发该函数。它们将同时运行。仅当您将选项设置为在 1 个实例上一次仅运行 1 个函数时,它们才会排队,但看起来您并不希望如此。

对于并发性,这意味着 2 个函数将同时读取数据库上的同一个表。因此,您应该使用 UPDLOCK 选项 LINK 读取您的表。 。这将防止后续触发的函数读取前一个函数中读取的相同行。

简而言之,你的问题的答案不是。如果您的功能重叠,默认情况下,您将同时运行多个功能。 LINK

要实现时间触发器的背靠背执行,请在应用程序设置配置中将 WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 和 FUNCTIONS_WORKER_PROCESS_COUNT 设置为 1。这将确保一次仅执行 1 个函数。看这个LINK .

关于azure - 连续执行Azure Function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68857852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com