gpt4 book ai didi

azure - 如何将Azure持久事件添加到批处理

转载 作者:行者123 更新时间:2023-12-03 06:48:49 25 4
gpt4 key购买 nike

    $batch = @(
Invoke-DurableActivity -FunctionName "F_ComputeEngineTasks" -Input (ConvertTo-json $computeEngineTasksInput -Depth 3) -NoWait
Invoke-DurableActivity -FunctionName "F_UpdateInstancesAndMembers" -Input (ConvertTo-Json $updateInstancesAndMembersInput) -NoWait
foreach ($contactId in $members.contacts.modified.Keys) {
$taskInput = @{contactId = $contactId; contactDetails = $members.contacts.modified.$contactId }
Invoke-DurableActivity -FunctionName "F_UpdateContactInfo" -Input (ConvertTo-json $taskInput -Depth 3) -NoWait
}
)

$output = Wait-ActivityFunction -Task $batch

我想并行执行 F_ComputeEngineTasks、F_UpdateInstanceAndMembers 和所有 F_UpdateContactInfo。我尝试制作一个批处理并执行它...问题是我不知道这是否有效(我得到了函数的所有输出,但我无法知道它们是否已同时执行) 。如果有人能告诉我我是否做错了,我会很高兴。

最佳答案

您的代码看起来是正确的。事件是否实际上并发运行取决于许多因素(横向扩展、并发限制、工作负载等)。严格来说,将 Invoke-DurableActivity-NoWait 一起使用意味着函数作者不反对同时运行这些事件,但它并不保证它们确实同时运行。执行顺序仍由 Azure Functions 平台根据可用资源和并发配置设置(例如 https://aka.ms/functions-powershell-concurrency )来确定。

也许检查您的事件是否并行运行的最简单方法是测量完成整个编排所需的时间并将其与预期进行比较。您可能需要在事件中人为地延迟才能自信地进行衡量。但是,如果您无法衡量差异,那么答案对您来说真的重要吗? :-)

关于azure - 如何将Azure持久事件添加到批处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73883070/

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