我可以在azure函数中实现async"fire and forget"HTTP触发器

Joo*_*oon 3 azure-functions

我有一个天蓝色的功能应用程序,具有长时间运行的操作.我想通过HTTP(为简单起见)通过一些输入和无输出来触发它.我不希望在作业运行的整个过程中保持HTTP连接打开.

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

mat*_*ewc 9

我建议你的http函数接受的设计+验证工作请求并将消息排入另一个函数正在侦听的工作队列.所以你要从http触发器模板开始,并添加一个队列输出绑定.

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

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