c# - 在 HangFire 中设置特定的日期和时间
问题描述
如何设置具体时间?例如 2021 年 7 月 2 日上午 8:00。
我应该使用哪些方法?Enqueue
方法或Schedule
方法或AddOrUpdate
方法?
解决方案
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);
推荐阅读
- symfony - Symfony 2 -> 3 升级问题:必须是给定的 ControllerResolver TraceableControllerResolver 的实例
- powerbi - 大于 0 的值显示在折线图的 0 轴下方和 PowerBI 上的堆积柱形图
- javascript - Node.js mysql - 嵌套查询和异步/等待
- firebase - 如何解析 firebase 云功能上的 multipart/form-data?
- azure-functions - Application Insights TelemetryConfiguration.Active
- sql - 从 Postgresql 表中的多个列字段中提取键、值
- css - SCSS 编译抛出语法错误 is not a valid CSS value
- mysql - 将列从 varchar 更改为 int
- php - 如何在 laravel 中使用 Guzzlehttp 测试个人访问令牌
- angular - 如何获取 ng-template(Angular 6) 中的值?