【发布时间】:2017-08-23 13:38:50
【问题描述】:
我有一个 Azure 计时器触发器 webjob,部署在两个不同的环境中,有两个不同的存储帐户。 Webjobs 已经部署了大约两个月,并且按预期运行了相当长的一段时间。但是,大约一个星期以来,该功能正在被识别但没有被执行。
以下是日志的外观:
Found the following functions:
ADFSchedulerWebJob.Functions.ProcessTimerMessage
Job host started
Job 主机启动后没有任何反应,即没有调用/执行函数 ProcessTimerMessage。这是函数的外观:
public static void ProcessTimerMessage([TimerTrigger("0 */2 * * * *", RunOnStartup = true)] TimerInfo info, TextWriter log)
{
//function logic
}
Main 方法如下所示:
static void Main()
{
JobHostConfiguration config = new JobHostConfiguration();
config.UseTimers();
var host = new JobHost(config);
host.RunAndBlock();
}
即使我尝试在本地调试 webjob,也会发生同样的情况。可能的原因/解决方案是什么?
任何帮助表示赞赏。
【问题讨论】:
-
你能给我们看一些(相关的)代码吗?主要对 TimerTrigger cron 表达式感兴趣。
-
编辑问题以包含包含 TimerTrigger CRON 表达式的函数签名。
-
在main方法中添加
config.UseTimers();了吗? -
是的,在上面的问题中添加了main方法以供参考。
-
您是否将同一个存储帐户用于另一个网络作业或另一个环境?看看这个问题:stackoverflow.com/questions/40296109/…
标签: azure azure-webjobs timer-trigger