【发布时间】:2018-08-12 09:02:09
【问题描述】:
我想安排一个 timertriggered 方法来调用其他方法,但是如果我用它来调用我自己的方法之一,CronJob 方法将不会运行,我只是得到这个控制台输出: " 发现以下功能: ...进程队列消息 ...函数.CronJob 作业主机已启动 "
几分钟后什么都没有发生,然后它可能会突然开始工作。但如果我只使用 CronJob() 方法运行它自己的 Console.WriteLine("Timer job failed") 语句,一切正常。
几个小时以来,我一直在努力寻找解决这个问题的方法,但似乎没有人遇到同样的问题。关于我做错了什么的任何想法?
public static void CronJob([TimerTrigger("*/3 * * * * *", RunOnStartup = true)] TimerInfo timerInfo)
{
Console.WriteLine("Timer job fired! ");
DoTask();
}
private static void DoTask()
{
Console.WriteLine("Doing task...");
}
主要方法:
static void Main()
{
var config = new JobHostConfiguration();
if (config.IsDevelopment)
{
config.UseDevelopmentSettings();
}
var host = new JobHost(config);
config.UseTimers();
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
【问题讨论】:
-
我们可以在 Program.cs 中查看您的静态 void Main() 函数吗?
-
是的,已将其添加到主帖
-
在本地运行、在 Azure Web 应用实例上运行或同时在这两种情况下运行时,您是否遇到过这些问题?
-
至少在本地运行时它一直在发生。编辑:两者都发生
-
您能否将 JobHostConfiguration.Tracing.ConsoleLevel 设置为 Verbose,看看这是否能说明问题?我想知道您是否没有遇到 TimerTrigger 单例锁的问题。
标签: c# azure scheduled-tasks azure-webjobs