Hangfire Cron表达式无效

Hangfire Cron表达式无效,cron,hangfire,Cron,Hangfire,我使用的是Hangfire,我想描述我重复工作的不同场景。但我无法实现我所期望的,如果CRON已经很有限,那么Hangfire使用的CRON就更多了 我继续阅读Hangfire文档,我发现了一个更复杂的表达式,而不是Hangfire默认支持的表达式。但它们甚至不兼容,例如,Hangfire只有分钟、小时、月、日、星期几,但如果我使用L或?就像文档上说的那样,这一天不起作用。我有这个错误,这个表达式有以下错误16 14 L??: Hangfire的CRON有以下方法:Monthlyint-day;

我使用的是Hangfire,我想描述我重复工作的不同场景。但我无法实现我所期望的,如果CRON已经很有限,那么Hangfire使用的CRON就更多了

我继续阅读Hangfire文档,我发现了一个更复杂的表达式,而不是Hangfire默认支持的表达式。但它们甚至不兼容,例如,Hangfire只有分钟、小时、月、日、星期几,但如果我使用L或?就像文档上说的那样,这一天不起作用。我有这个错误,这个表达式有以下错误16 14 L??:

Hangfire的CRON有以下方法:Monthlyint-day;如果我选择例如31,会发生什么?它仍然会在2月或4月这样的月份运行,例如在每个月的最后一天?或者我需要做些额外的事情来实现它

这样会发生什么?我似乎无法定义用户选择的日期为31的条件,以便始终在每月的最后一天运行后台作业。我甚至不谈论第29天或第30天,这也是特殊原因,我总是在一个月的最后一天处理背景工作

我曾想过使用Hangfire.CRON中的Month方法,但我认为它不会以我想要的方式处理29、30和31天

您确认Hangfire Cron没有使用文档中引用的Cron表达式吗?是否有任何方法可以实现我想要的?还有,有什么建议的教程或东西可以帮我吗?我一直在读,我认为这是Hangfire使用的一种,但它没有多大帮助。

你说得对。Hangfire使用它,所以您应该确保这个库支持您的cron表达式。有两个简单的选择:

C交互式窗口,如NContab自述文件中所述,也可以使用示例 在线cron可视化工具,如或 Cron.Monthly31转换为0 31**并且只有当当前月份有31天时才会触发作业

要始终在每月的最后一天运行后台作业,请添加三个单独的作业:

0 0 30 4,6,9,11        *
0 0 31 1,3,5,7,8,10,12 *
0 0 28 2               *
0 0 30 4,6,9,11        *
0 0 31 1,3,5,7,8,10,12 *
0 0 28 2               *