【问题标题】:Configure cron job that is executing every 15 minutes on Hangfire配置在 Hangfire 上每 15 分钟执行一次的 cron 作业
【发布时间】:2015-03-08 15:55:26
【问题描述】:

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

【问题讨论】:

  • 你可以使用这个 (cronmaker.com) 来生成 cron 表达式。然后(根据接受的答案)您可以调用 RecurringJob.AddOrUpdate(() => Console.Write("Recurring"), cronText);

标签: c# hangfire ncron


【解决方案1】:

试试CronExpression的官方工具:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • MinuteInterval 将在 2.0.0 中移除
    • 如何设置开始时间,例如早上 8 点,每 15 分钟安排一次作业?
    【解决方案3】:

    看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));
    

    【讨论】:

      【解决方案4】:

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

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

      而且工作起来就像一个魅力。

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

      【讨论】:

      • 感谢分享解决方案。不知道 Hangfire 接受了那些 cron 表达式。
      • 30 分钟 = "*/30 * * * *" ?
      • 是的,*/30 * * * * 将用于 every 30 minutes
      • 不幸的是,如果您想错开您的任务,即不让它们在 00:00、00:15、00:30 使用此方法同时运行,它将无法正常工作。我还没有找到解决方法
      • 你能帮我解决这个问题吗:stackoverflow.com/questions/48422631/…
      猜你喜欢
      • 2013-10-26
      • 2022-07-07
      • 2013-11-21
      • 2018-04-27
      • 2013-11-27
      • 2012-11-02
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多