首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure Blob触发器函数和System.Threading.Sleep

Azure Blob触发器函数和System.Threading.Sleep
EN

Stack Overflow用户
提问于 2021-12-01 21:25:20
回答 1查看 22关注 0票数 0

我们使用Interfax作为我们的传真提供商。我们有一个Azure Blob存储帐户,以及一个由新上传触发的函数。当我们上传blob时,该函数被调用,并且这部分工作正常。事实上,大多数呼叫都工作正常,但也有一些呼叫丢失了。

在我们发送传真之后,我们有一个循环来检查状态。在每次状态检查之后,我们调用System.Threading.Sleep(120000)。

其中大约15%似乎被卡住了。我们跟踪了这个事件,它似乎没有从休眠调用中返回。

一些信息提到了不要在.NET azure函数中使用System.Threading.Sleep。

有没有人对我们如何解决这个问题有任何其他建议,或者甚至有任何关于可能发生的事情的其他见解?

目前,我们尝试了30次,睡眠时间为2分钟,这意味着一些Azure Blob触发的函数可能会运行一个多小时。也许多个并行调用会导致这个问题?

EN

回答 1

Stack Overflow用户

发布于 2021-12-02 14:37:50

Azure函数的执行应该保持尽可能短,并且完全在超时限制内。根据托管函数应用所在的层/计划,超时limits会有所不同。

对于您的场景,最好使用建议的方法之一来处理这种长时间运行的逻辑。document女士。一种方法是对状态进行durable function检查,甚至使用timer触发器每隔X分钟/秒检查一次传真请求的状态。如果传真提供商提供回调(Webhook),则更适合使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70191397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档