【发布时间】:2021-12-26 03:36:14
【问题描述】:
我正在使用 TimerTrigger CRON 作业将任务安排为 2 天,但触发器似乎不起作用。 以下是我尝试过的代码,
public static void StartupJob([TimerTrigger("0 * * * * *", RunOnStartup = true)] TimerInfo timerInfo) //0 * * * * * added CRON job to run for every minute for testing purpose
{
Console.WriteLine("Timer job fired!");
}
local.settings.json
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet"
}
}
由于上面的代码不起作用,我在 main() 中添加了以下内容
static void Main()
{
var config = new JobHostConfiguration();
config.UseTimers();
config.Tracing.ConsoleLevel = System.Diagnostics.TraceLevel.Verbose;
if (config.IsDevelopment)
{
config.UseDevelopmentSettings();
}
var host = new JobHost(config);
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
收到以下错误并显示安装 DocumentFormat 包的修复程序,但安装此包无法解决 FunctionName 错误。
我是 C# 的新手,无法在这里找到问题所在。任何帮助或对好的示例的参考都会有所帮助和赞赏。
谢谢。
【问题讨论】:
-
我想也许你在 CRON 表达式中的一颗星太多了。我不熟悉 CRON,但那里的一位表达式测试器暗示了这一点。
-
进一步研究,看起来你应该每分钟都有“* * * * *”。
-
@BentTranberg 不,这不起作用它没有触发
-
根据您发布的代码,您似乎缺少
FunctionName属性。所以附上它就像[FunctionName("StartupJob")] -
@user1672994 是否需要添加任何包才能使用 FunctionName?
标签: c# cron azure-functions azure-webjobs timer-trigger