【问题标题】:Quartz job scheduler in .net core on 12AM and 12PM everyday每天上午 12 点和下午 12 点在 .net 核心中使用 Quartz 作业调度程序
【发布时间】:2021-06-17 12:04:29
【问题描述】:

在 .NET Core 5 Web API 项目中,我有一个作业调度程序,它正在更新数据库中的某些内容。

我想每天在上午 12 点和下午 12 点运行该作业调度程序两次。 cron 表达式会是什么?

我怎样才能在一天内运行两次 Quartz 作业调度程序?

这是调度器启动的代码:

public async Task StartAsync(CancellationToken cancellationToken)
{
    Scheduler = await _schedulerFactory.GetScheduler(cancellationToken);
    Scheduler.JobFactory = _jobFactory;
           
    var job2 = new JobSchedule(jobType: typeof(MCBJob),
                cronExpression: "0 0 0/12 * * ");

    var mcbJob = CreateJob(job2);
    var mcbTrigger = CreateTrigger(job2);
             
    await Scheduler.ScheduleJob(mcbJob, mcbTrigger, cancellationToken);

    await Scheduler.Start(cancellationToken);
}

【问题讨论】:

  • 尝试使用0 0 0,12 * *。使用crontab.guru 构建一个 cron 计划。

标签: asp.net-core quartz-scheduler scheduler quartz.net


【解决方案1】:

您可以使用, 分隔值以指定单个值。

https://en.wikipedia.org/wiki/Cron#CRON_expression

4   -> 4
0-4 -> 0,1,2,3,4
*/4 -> 0,4,8,12,...,52,56
0,4 -> 0,4

我们现在可以制定时间表了:

0 0 0,12 * *
| |  |   | every month
| |  |   every day
| |  at hour 0 and 12
| at minute 0
at first second

您可以使用https://crontab.guru/ 以交互方式构建 cron 表达式。

【讨论】:

    【解决方案2】:

    这可能对你的情况有帮助。

    访问http://www.cronmaker.com/

    CronMaker 是一个简单的网站,可帮助您构建cron 表达式CronMaker 使用 Quartz 开源 调度程序。生成的表达式基于 Quartz cron 格式。

    【讨论】:

      猜你喜欢
      • 2017-03-24
      • 2013-03-02
      • 1970-01-01
      • 2020-01-26
      • 2012-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      相关资源
      最近更新 更多