2017-06-14 98 views
0

我使用的是定时器触发Azure的功能将数据从一个数据库移动每隔X分钟的最后2周运行时间。为此,我想访问最后两个运行时间,并使用它来限制我的数据库查询,以便将SecondLastRunTime中的所有日志都记录到LastRunTime中。假设我每隔X分钟运行计时器,这应该会给我所有的日志。获取Azure的功能

我怎样才能访问这些信息?此外,处理定时器失败的任何建议?

回答

0

这些细节都不能自动获得来自TimerTrigger。

但是,你应该能够使用输出结合写这些细节表储存或DocDb或(任何其他存储类型)每当函数运行。然后,您可以使用输入绑定在触发器触发时自动加载数据。

下面就以表输入/输出绑定可能有用的链接:https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-table

一种方法来TimerTrigger故障是有触发功能做很少的工作,转而写一些上下文队列消息(也许是什么时候发射的时间戳?)。然后,一个单独的QueueTrigger函数可以作用于该消息。关于这一点的好处是,QueueTrigger执行自动重试(默认最多5次),并将任何失败的内容存储在“毒药”队列中供您稍后评估。它还有助于编写函数的方式(一)他们是幂等的:如果你连续多次运行它,你会得到相同的结果和(b)功能可以处理情况,以前的运行失败的情景:这可能意味着清理失败的处理或者忽略它,以便稍后手动清理它。