我是Azure的新手,所以我不确定我的问题是否正确,但我会尽力而为:
我有一个应用程序将表单(1.bin,2.bin,3.bin ...)中的数据始终以连续的顺序发送到blob输入容器,当发生这种情况时,它会通过QueueTrigger触发Azure功能,函数的输出(1output.bin,2output.bin,3output.bin ...)存储在博客输出容器中。
当azure崩溃时,程序会在放弃之前尝试5次。当azure成功时,它只会运行一次,就是这样。
我不确定上周发生了什么,但自从上周每次成功运行后,功能就像7分钟一样空闲,然后再次启动过程,就好像这是第一次。因此,例如blob接收22.bin和函数进程22.bin并生成22output.bin,之后停止停止但是在七分钟之后再次处理22.bin。
我认为不是应用程序,因为每次应用程序发送数据时,即使它是同一个数据,它也会使用下一个数字命名数据(在我的例子中为23.bin),但事实并非如此只是做了22.bin,好像在成功的azure运行之后触发队列不清楚,并且它一直反复进行,直到我必须停止功能并使其崩溃以便停止它。
为什么会发生这种情况以及我可以尝试纠正它的任何想法都非常感谢。我刚开始学习所有这些东西。
答案 0 :(得分:1)
可能发生的一件事是,功能执行时间超过5分钟。由于这是一个硬限制,函数运行时将终止当前执行并重新启动函数主机。
测试此方法的一种方法是使用标准应用服务计划而非消费计划创建功能应用。使用标准计划创建的功能应用程序没有执行时间限制。您可以记录功能开始时间和结束时间,以查看是否需要超过5分钟才能完成处理队列消息。