【发布时间】:2021-03-26 23:34:31
【问题描述】:
我在理解 Function 应用程序的工作原理时遇到了一些麻烦 ..
我的环境如下:Python3.8,Blob Trigger,消耗计划
我正在创建一个应用程序,该应用程序在音频文件上传到容器时触发。此音频文件触发 Azure 功能并使用 Azure 认知服务运行“语音转文本”(因此我的功能正在等待该服务的答复)。我将“FUNCTIONS_WORKER_PROCESS_COUNT”设置为 5,以允许我的每个函数应用实例并行运行多个语音到文本分析。
所以我将 100 个 blob 上传到我的容器中以检查我的函数行为,这是我得到的:
函数应用被触发并启动多个服务器(5 个用于 100 个 blob),然后开始处理每个服务器 1 个 blob,直到我上传 blob 超过 30 分钟,然后我得到一个超时。
但我期待这种行为: 函数应用被触发并启动多个服务器。每台服务器并行处理 5 个 blob,并在 15 到 20 分钟内为我的所有 blob 提供答案!
所以我在这里没有得到两件事。 W
- 为什么我的函数不是每台服务器处理 5 个 blob 而不是每台服务器 1 个 blob? (我在 5 处设置了“FUNCTIONS_WORKER_PROCESS_COUNT”)?
- 而且我的 blob 似乎一出现在容器中就会被处理,而不是放入队列中。这种行为是造成超时的原因,因为它们等待了很长时间而不是被处理.. 为什么?
我希望我很清楚.. 感谢您的帮助!
编辑:我刚刚添加了 100 个 Blob,以查看功能应用程序的反应,并且我新上传的 Blob 在我开始上传的 Blob 之前得到处理。
【问题讨论】:
标签: python azure function cloud