配置在 Hangfire 上每 15 分钟执行一次的 cron 作业

本文关键字:一次 作业 cron Hangfire 上每 执行 分钟 配置 | 更新日期: 2023-09-27 18:36:58

我正在使用Hangfire,非常喜欢这个软件!但是我缺少的一件事是如何添加每隔几分钟(例如每 15 分钟)执行一次的重复作业。有没有办法实现这一目标?

配置在 Hangfire 上每 15 分钟执行一次的 cron 作业

目前我正在使用这种方法:

RecurringJob.AddOrUpdate(() => Console.Write("Recurring"), "*/15 * * * *");

并且像魅力一样工作。

参考我在Hangfire论坛中的问题:http://discuss.hangfire.io/t/how-to-create-cron-job-that-is-executing-every-15-minutes/533

我们还可以使用以下代码行来计划每 15 分钟一次的作业。

RecurringJob.AddOrUpdate(() => Console.Write("Recurring"), Cron.MinuteInterval(15));

看看 Hangfire.Cron 类,我不知道这是否可能。

解决方法是创建四个不同的计划,即:

RecurringJob.AddOrUpdate(
    () => Console.WriteLine("Transparent!"), 
    Cron.Hourly(0));
RecurringJob.AddOrUpdate(
    () => Console.WriteLine("Transparent!"), 
    Cron.Hourly(15));
RecurringJob.AddOrUpdate(
    () => Console.WriteLine("Transparent!"), 
    Cron.Hourly(30));
RecurringJob.AddOrUpdate(
    () => Console.WriteLine("Transparent!"), 
    Cron.Hourly(45));

尝试CronExpression的官方工具:

https://crontab.guru/#*/15_*_*_*_*