计时器触发器功能与带有COMSUMPTION计划的Azure Function应用一起运行长时间的过程

时间:2019-08-16 21:17:33

标签: azure azure-functions

我需要开发一个流程(例如Azure fucntion应用程序),该流程每周一次从FTP加载文件,并执行ETL并长时间(100分钟)更新到其他服务。

我的问题是,考虑到Azure功能应用程序的最长运行时间为10分钟,带有COMSUMPTION计划的Timer Trigger Azure Function应用程序是否可以在这种情况下工作?

更新

我将“计时器触发”功能与“消耗计划”一起使用的理论是,如果将计时器设置为在特定时间段(例如,仅从上午5点至上午10点)每4分钟唤醒一次,并且在该功能内,状态会告知您是否现有处理正在进行中。如果是,则该过程将继续其正在进行的工作,否则,该函数将退出。

这可行还是有缺陷?

2 个答案:

答案 0 :(得分:0)

我不确定您的确切情况是什么,但我会考虑以下选项之一:

选项1

使用持久功能。 (Here is a C# example

它将允许您启动过程,并且在等待其他任务完成时,您的功能实际上不会运行。


选项2

万一持久功能不符合您的需求,您可以尝试将计时器触发功能和ACI结合使用。

简而言之,您的流程应如下所示:

  1. 计时器功能已触发
  2. 调用API创建ACI
  3. 计时器功能结束。
  4. ACI中的服务开始工作
  5. 服务完成后,它将调用API以删除其自己的ACI。

但是无论如何,持久功能通常可以解决问题。 让我知道是否有不清楚的地方。 祝好运。 :)

答案 1 :(得分:0)

使用“消费”计划时,天蓝色功能出租车最多可运行10分钟,但仍需要在host.json中进行配置

再次申请App Service Plan无限制,您需要在host.json中配置功能超时属性

有关以下教程的更多种子 https://sps-cloud-architect.blogspot.com/2019/12/azure-data-load-etl-process-using-azure.html