执行周期性任务¶

执行周期性任务也是一样简单,您只需要编写一行代码:



此行在持久存储中创建一个新实体。 Hangfire Server中的一个特殊组件(请参阅 ) 以分钟为间隔检查周期性任务,然后在队列中将其视作 fire-and-forget 任务。这样就可以照常跟踪它们。




您的 Hangfire Server 实例应始终运行,并执行任务调度和处理逻辑。如果您在 ASP.NET 应用程序中执行处理,还请阅读 使 ASP.NET 应用程序始终运行 一章。



类包含不同的方法和重载,以分钟,小时,每天,每周,每月和每年的方式运行任务。您还可以使用 来执行更复杂的计划:






    每个循环作业都有自己的唯一标识符。在前面的例子中,它使用调用的表达式的类型和方法名称 (导致 "Console.Write" 作为标识符) 隐式生成。 类包含一个明确定义的任务标识符重载,所以你可以参考下面这个例子。




    调用 AddOrUpdate 方法将创建一个新的循环作业或更新具有相同标识符的现有任务。



    标识符应该是唯一的





    标识符可能区分大小写


    在一些存储实现中,重复的作业标识符可能 区分大小写





    操作周期任务 ¶


    您可以通过调用 方法来删除现有的周期任务。当不存在该周期工作时,它不会抛出异常。




      要立即执行周期任务,请调用 Trigger 方法。关于触发调用的信息不会记录在周期任务,并且不会改变下一次执行任务的时间。例如,如果有一周每周三触发的任务,当你在周五手动触发时,下一次触发的时间还是下周三。






        原文: