CRON 表达式在每个月的最后一天触发 Azure 函数

Posted

技术标签:

【中文标题】CRON 表达式在每个月的最后一天触发 Azure 函数【英文标题】:CRON Expression to trigger Azure Function on the last day of each month 【发布时间】:2021-12-28 10:05:15 【问题描述】:

是否有任何 CRON 表达式可用于在每个月的最后一天触发 Azure 函数?对于计时器触发器来说,这似乎是一个典型的场景,我很惊讶我正在努力解决这个问题。

我目前正在使用一种解决方法,即在每个月的 28-31 日触发并在当月的最后一天签入代码,但该解决方案感觉有点笨拙。

即使是明确的“不可能”也会受到赞赏。

编辑: 这是代码

using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
using System;

namespace MyProsj.Functions.Triggers

    public static class LastOfEachMonth
    
        [FunctionName("LastOfEachMonth")]
        public static void Run([TimerTrigger("0 0 20 28-31 * *")] TimerInfo myTimer, ILogger log)
        
            if (DateTime.Now.AddDays(1).Day == 1)
            
                //DO STUFF HERE
            
        
    

【问题讨论】:

【参考方案1】:

这是用于在每个月的最后一天运行 Azure 函数触发器的玉米表达式。上午 10 点 15 分

15 10 * * 5L

更多信息请查看Corn Expressions。

【讨论】:

'L' 似乎在 Azure Functions 中不起作用。“Microsoft.Azure.WebJobs.Extensions:计划表达式 '0 0 20 L * *' 未被识别为有效的 cron 表达式或时间跨度字符串。” 看起来你想在每个月的最后一天晚上 8 点触发你的函数,因为你需要使用下面的玉米表达式 0 20 L * * 以获取更多信息检查brightxpress.com/user/appendix/cron_expressions.htm

以上是关于CRON 表达式在每个月的最后一天触发 Azure 函数的主要内容,如果未能解决你的问题,请参考以下文章

单 Azure 函数多定时器触发

用SQL取每个月的最后一天,怎么写

雪花 cron 任务错误? (不能在每个月的 x 天做)

python怎么获得每个月的第一天和最后一天

linux的周期计划任务在每个月的最后一天执行 该怎么写

java 怎样获取每个月的第一天和最后一天