首页 > 解决方案 > 使用 Azure Function 保持用户会话活跃

问题描述

由于我无法使用队列触发基于定时器的函数或为其提供参数(会话 id 以使其保持活动状态,每 30 分钟刷新一次),是否可以创建基本的 HTTP/队列函数(而不是定时器函数)并在内部添加带有自定义计时器的 ac# 代码?该功能一旦触发会永远运行吗?

标签: .netazureazure-functionstimer-trigger

解决方案


不,正如@Will 在他的评论中提到的那样,您不能使用Azure Function永远(连续地)运行。由于 Azure Functions 的设计旨在在特定时间限制内减少负载。

消费计划的时限

消耗计划中函数的默认超时为 5 分钟。通过更改 host.json 项目文件中的属性函数超时,Function App 的值最多可以增加 10 分钟。

因此,作为最佳实践,您应该避免在 Azure Function 中长时间运行作业。

对于您的用例,您可以使用Azure Web Apps。Azure Web Apps 是专为长时间运行的作业而设计的。

  1. 您可以创建一个基本的 HTTP/队列函数
  2. 这反过来又叫你
  3. Azure Web 应用程序 Azure Web 应用程序会按照您的意愿永远运行。

推荐阅读