Cron 针对Azure功能,每个月的第一个星期二都会有NContab
我如何使用Azure函数(版本3和.NET Core)创建计时器触发器,这些函数必须在每个月的第一个星期二上午8点执行。从现在开始(2020年8月5日),这必须是接下来的五次:Cron 针对Azure功能,每个月的第一个星期二都会有NContab,cron,azure-functions,Cron,Azure Functions,我如何使用Azure函数(版本3和.NET Core)创建计时器触发器,这些函数必须在每个月的第一个星期二上午8点执行。从现在开始(2020年8月5日),这必须是接下来的五次: 2020/06/02星期二08:00:00 2020/07/07星期二08:00:00 2020/08/04星期二08:00:00 2020/09/01星期二08:00:00 2020/10/06星期二08:00:00 通过使用,我有了下一个NContab: 08?1/1星期二#1* 但我还有一个例外: 计划表达式08
08?1/1星期二#1*
但我还有一个例外:
计划表达式08?1/1 Tue#1*
未被识别为有效的CRON表达式或TimeSpan字符串
然后,我开始将CRON表达式更改为下一个变量:
CORN |结果
----------------- |-------------------------------------------
0 0 8 ? 1/1星期二,上面的错误
0 0 8*1/1星期二1 |以上错误
0 0 8 1/1星期二1*以上错误
0 0 8*1/1 Tue 1 |以上错误
0 0 8 ? 1/1星期二1 |以上错误
0 0 8*1/1星期二/1 | 2020/05/29 08:00:00-2020/05/30 08:00:00
0 0 8**周二| 2020/05/30 08:00:00-2020/06/02 08:00:00
0 0 8*1/1周二| 2020/05/30 08:00:00-2020/06/02 08:00:00
0 0 8 ? 1/1星期二/2 |以上错误
所以我所做的每一个表达都不会像预期的那样有效。我现在的问题是:正确的表达式是什么?不幸的是,计时器触发器使用的是库,它没有“第一个星期二”的概念。我认为最好的方法是将表达式设置为
0 0 8**2
在每个星期二早上8点触发,并在实际函数中包含一些代码,如果不是一个月的第一个星期二,这些代码会立即返回。不幸的是,计时器触发器使用了库,库中没有“第一个星期二”的概念。我认为最好的方法是将表达式设置为0 0 8**2
,在每个星期二早上8点触发,并在实际函数中添加一些代码,如果不是本月的第一个星期二,则会立即返回。本月的第一个星期一位于从第一个星期一到第七个星期二(包括第一个星期一)的一个日期上。那么cron表达式就很容易得到了
假设它应该是0 0 8 1-7*Tue
,下面是我的测试,它显示了前五个日期
一个月的第一个星期一是从第一天到第七天(包括第一天到第七天)中的一天(而且只有一天)。那么cron表达式就很容易得到了 假设它应该是
0 0 8 1-7*Tue
,下面是我的测试,它显示了前五个日期