azure-functions - 我可以在天蓝色函数中实现异步 "fire and forget"HTTP 触发器吗

标签 azure-functions

我有一个运行时间很长的天蓝色函数应用程序。我想通过 HTTP 触发它(为简单起见),有一些输入但没有输出。我不想在作业运行的整个过程中保持 HTTP 连接打开。

我有哪些选择来构建一个函数应用程序,其中运行时接受一些数据,然后在调用我的 run.csx 文件之前立即将控制权返回给调用者?

最佳答案

我建议您的 http 函数接受 + 验证工作请求并将消息排入工作队列的设计 排队另一个功能正在监听。因此,您将从 http 触发器模板开始,并添加一个队列输出绑定(bind)。

这样您的请求会立即返回,并且您可以在 Queue 触发函数的上下文中完成长时间运行的工作。一个好处是您将获得 重试行为免费的队列触发器。例如。如果您长时间运行的任务中途失败,则消息将在一段时间后重新处理(队列消息只有在成功处理后才会从队列中删除)。

分离还为您在 future 如何安排工作提供了更多选择。例如。将来可以通过另一个函数的队列输出来启动这项工作,而无需 http 请求。

关于azure-functions - 我可以在天蓝色函数中实现异步 "fire and forget"HTTP 触发器吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38123887/

相关文章:

azure - Multi-Tenancy Azure 服务总线

azure - Azure Web 作业中的信号量

Azure函数: Can't check memory usage of instances

azure - 如何在 Linux 计划上的 Azure Functions 上获取内存转储

c# - 调试 AzureFunction 以及部署 azure 函数时缺少 ProviderName

spring-boot - 在 Azure Functions : Permission denied with server. 端口上运行 Spring Boot native 应用程序:80

dockerfile - 系统未授权访问异常 : Access to the path 'C:\runtime\Secrets\host.json' is denied in Azure Functions Windows container

azure - 来自 Azure Function 的电子邮件和日志异常

c# - 为什么 Azure 函数发送永无休止的 HTTP 请求?

azure - 在 Azure 中使用 GetEnvironmentVariable 读取 local.settings.json 中的 ConnectionStrings