首页 > 解决方案 > 在 HangFire 中设置特定的日期和时间

问题描述

如何设置具体时间?例如 2021 年 7 月 2 日上午 8:00。
我应该使用哪些方法?Enqueue方法或Schedule方法或AddOrUpdate方法?

标签: c#asp.netschedulerhangfire

解决方案


Hangfire 使用cron 调度表达式。您可以设置任何所需的日期时间表达式。例如

0 8 24 7 * => “7 月 24 日的 08:00。”</p>

以下代码展示了如何使用表达式,您可以使用一些在线工具来创建表达式,例如crontab

RecurringJob.AddOrUpdate(jobId, methodCall, "0 8 24 7 *", TimeZoneInfo.Local);

如果你想执行某事,你应该使用 BackgroundJob。

var selectedDate = DateTimeOffset.Parse("2021-07-02 08:00:00");
BackgroundJob.Schedule(() => YourDelayedJob(), selectedDate);

推荐阅读