使用CI时,Azure Functions会修改timetrigger时间间隔

时间:2017-08-10 11:30:00

标签: azure azure-functions

假设我有一个只能在生产中运行的时间触发功能,或者可能在生产中有不同的时间表,我该怎么做?

使用CI时,应用程序进入只读模式,并且时间触发间隔不可配置。

1 个答案:

答案 0 :(得分:0)

有几个选项,但我建议你定义你的TimerTrigger从功能应用程序的应用程序设置中选择它 - 你可以通过你的CI过程填充它,或者如果需要可以手动填充它。

在VS 2017工具中用C#定义你的功能你需要像这样的方法签名,例如

[FunctionName("MyTimerFunction")]
public static void Run([TimerTrigger("%TriggerInterval%")] TimerInfo myTimer, TraceWriter log) 

在功能应用程序设置中(或local.settings.json在本地运行)定义计时器的CRON间隔。

{
"Values" : {
    "TriggerInterval": "0 0 * * * *" // e.g. hourly 
  }
}

此外,如果您需要快速修复,即使您的CI进程已将应用程序设置为只读模式,您仍然可以将其设置为读/写然后更新设置 - 当然这将被覆盖下一个CI部署到该功能应用程序的时间。