Hangfire CronExp每个月在指定日期凌晨1点运行

时间:2016-06-19 19:26:55

标签: cron crontab cronexpression hangfire

我想设置一个cronExp,在每个月的某一天运行,从查询中添加

cronExp = "0 0 1 "+@auto.Day+ "* *";

我尝试了上述内容,但我认为这在语法上不正确

请帮忙

更新

我设法让以下工作auto.Day = 24

cronExp = "0 1 1 */"+@auto.Day+" *";

但它读取Cron在01:01 AM,每24天与每月24日01:01 Am相同?

2 个答案:

答案 0 :(得分:1)

如果您不习惯写Cron表达式,那么这些表达式可能会非常棘手。查看https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm以获取如何编写它们的示例。

你最好写成:

cronExp = "0 1 " + @auto.Day + " * * ";

你的第一个没有用,因为它在Day和Month字段之间的表达式中缺少一个空格(看起来像0 0 1 24* *)。你的第二个是设定分钟,因此是1:01 AM。

答案 1 :(得分:0)

最后,下面的表达是有效的

cronExp = "0 1 " +@auto.Day+" * *";