首页 > 解决方案 > 我可以只在特定时间在白天执行天蓝色功能吗

问题描述

嗨,我正在尝试 azure 功能。基本上我想每天触发 3 次函数。例如上午 9:00、下午 12 点和下午 5 点。这会触发一个函数,该函数将从数据库中获取数据在 Slack 上发送电子邮件或消息?有人可以指导我吗?

我正在使用 Visual Studio 2019、C# 和 SQL 数据库。

谢谢

标签: azure-functions

解决方案


你需要为此而玩Cronexpression

假设您希望它09:00 12:00 17:00仅在工作日每天运行,那么 cronexpresstion0 0 9,12,17 * * 1-5将为您提供接下来 5 次出现的输出(此答案在周末发布,因此工作日的下一次出现如下)

[01/04/2021 09:00:00+00:00] (01/04/2021 09:00:00Z)
[2021-01-02T12:28:08.938Z] 01/04/2021 12:00:00+00:00 (01/04/2021 12:00:00Z)
[2021-01-02T12:28:08.939Z] 01/04/2021 17:00:00+00:00 (01/04/2021 17:00:00Z)
[2021-01-02T12:28:08.939Z] 01/05/2021 09:00:00+00:00 (01/05/2021 09:00:00Z)
[2021-01-02T12:28:08.940Z] 01/05/2021 12:00:00+00:00 (01/05/2021 12:00:00Z)

cron 表达式本身可以在 Azure 函数上配置为

    [FunctionName("Function1")]
    public static void Run([TimerTrigger("0 0 9,12,17 * * 1-5")]TimerInfo myTimer, 
        ILogger log)
    {
        log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
    }

推荐阅读