如何在循环任务中跳过指定时间?

How to skip a specified time in a recurring task?

你好,我有一个每小时执行的任务,但是,我不想在晚上执行(比如00:00-07:00),我该怎么办? 示例代码:

  RecurringJob.AddOrUpdate(nameof(SyncArticles), () => SyncArticles(), Cron.HourInterval(1), TimeZoneInfo.Local)

"SyncArticles"会每小时执行一次,但是远程数据晚上不更新,所以希望这个任务不要在晚上或者指定时间执行,请问如何要做吗?谢谢

您可以简单地使用文本 cron 表达式来创建您需要的任何自定义间隔。

例如:

Should run every hour between and including 7am to 11pm:
"0 7-23 * * *"

或者:

If you wanted to include midnight as well:
"0 0,7-23 * * *"

我没有在 Hangfire 中专门测试过这些,但它们是有效的并且应该可以工作。

有关详细信息,请参阅 https://en.wikipedia.org/wiki/Cron