azure-functions - 适用于长时间运行活动的 Azure 耐用功能
问题描述
我有一个长时间运行的活动,其执行完成时间将超过 10 分钟,但它是具有许多内部任务的单一活动。我想在消费计划上将这个长期运行的活动作为 Azure Function 运行,而不是在应用程序服务的高级(或)成本因素上运行。但是消费计划上的 Azure 功能有最大值。超时时间为 10 分钟,因此消费计划中的 Azure 功能不适合。
对于上述要求,Azure Durable 功能是正确的选择吗?我可以在消费计划上启动持久功能,并考虑将长时间运行的功能作为持久功能“编排上下文”中的一项活动(尽管我的要求与编排或功能链接无关)以经济高效的方式克服 Azure 功能超时限制.
上述方法在技术上可行吗?Durable 函数“orchestrationcontext/DurableClient”中的活动函数不会在消费计划 10 分钟后超时吗?是否符合最佳实践?请说清楚。
解决方案
函数应该是短期的,它们不应该运行很长时间。函数的优势在于具有小或可变吞吐量的短期执行。
只要有可能,将大型函数重构为更小的函数集,它们可以一起工作并快速返回响应。例如,webhook 或 HTTP 触发函数可能需要在特定时间限制内的确认响应;webhook 需要立即响应是很常见的。您可以将 HTTP 触发器负载传递到队列中以由队列触发器函数处理。这种方法可以让您推迟实际工作并立即返回响应。
看看这个:
使用 Durable Functions,您可以轻松地支持长时间运行的进程,应用异步 HTTP API。如果您正在处理需要一些时间来处理有效负载或请求的功能,那么在“应用服务计划、WebJob 或持久功能”下运行是正确的方法。
推荐阅读
- cmake - 如何在 cmake install 中使用通配符
- r - 每人观察次数中位数
- php - 写入 php.ini 文件以激活 imagick php 扩展时,如何修复 BeforeInstall 脚本中 sed 命令的“[stderr]”输出?
- junit - 模拟一个接受 T 类型参数并返回相同类型 T 的方法
- jquery - jQuery在数据表中复制onclick
- mysql - 如何使用“AND 查询”确保在“分组依据”中满足 2 个值
- node.js - 如何选择行以使用 Hough 变换查找收据?
- c# - ModelState.IsValid 和图像
- javascript - 如何在 Javascript 中检查附近的目标?
- python - 如何使用 `package_data` 在 PyPi 包中包含文件