每小时的每小时cron表达式是多少? 我尝试了这个'0 0 *? * *'但它抛出了一个错误 我有一个Azure函数计时器触发器
下面的此表达式每分钟运行一分钟。
.modalBack {
z-index: 10;
position: absolute;
height: 100vh;
width: 100%;
background-color: rgba(0,0,0,0.7);
padding-top: 10%;
opacity: 0;
pointer-events: none;
transition: opacity 0.5s;
}
.modalBack:target{
opacity: 1;
pointer-events: auto;
position: fixed;
}
这是我尝试“ 0 0 *?* * *”和“ 0 0 *?* *”时收到的错误
[11/22/2018 12:45:29 AM]发生ScriptHost错误 [2018年11月22日12:45:29] Microsoft.Azure.WebJobs.Host:错误索引方法'Currencies.Run'。 Microsoft.Azure.WebJobs.Extensions:计划表达式'0 0 *? * * *'无法识别为有效的cron表达式或时间跨度字符串。 [11/22/2018 12:45:29 AM]错误索引方法'Currencies.Run' [2018年11月22日12:45:29] Microsoft.Azure.WebJobs.Host:错误索引方法'Currencies.Run'。 Microsoft.Azure.WebJobs.Extensions:计划表达式'0 0 *? * * *'无法识别为有效的cron表达式或时间跨度字符串。
答案 0 :(得分:3)
编辑:尝试使用"0 0 * * * *"
,doc强调六个字段的使用。
Azure函数使用NCronTab库来解释CRON表达式。 CRON表达式包含六个字段:
{秒} {分钟} {小时} {日} {月} {星期几}
根据doco的说法,Azure应该使用NCrontab
库,但测试表明并非如此! 因此每小时每小时使用 "0 * * * *"
。
这里是LINQPad脚本进行验证:
var s = CrontabSchedule.Parse("0 * * * *");
var start = new DateTime(2000, 1, 1);
var end = start.AddYears(1);
var occurrences = s.GetNextOccurrences(start, end);
occurrences.Dump();
[这需要插入NCrontab nuget包]
参考:https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer
“ Azure函数使用NCronTab库来解释CRON 表达式”