https://mp.weixin.qq.com/s/7ygu2heMKojrKulWBvk6Jg

项目地址
https://github.com/HangfireIO/Hangfire

Hangfire是一个开源的.NET任务调度框架,目前1.6+版本已支持.NET Core,可以用在ASP.NET应用执行多种类型的后台任务,无需额外开发后台服务。

同时Hangfire内置了集成化控制台,在上面可以清晰看到作业调度的情况,并且支持持久化的存储,支持有 Redis、SQL Server、SQL Azure 和 MSMQ。

图片

02
任务场景示例
1、执行后台任务,执行一次


var jobId = BackgroundJob .Enqueue( 
    () => Console.WriteLine( "一劳永逸!" ));

2、延迟任务:7天后执行


var jobId = BackgroundJob .Schedule( 
    () => Console.WriteLine( "延迟!" ),
     TimeSpan.FromDays(7));

3、重复任务:每天执行一次


RecurringJob .AddOrUpdate(
     "myrecurringjob" , 
    () => Console.WriteLine( "重复!" ),
     Cron.Daily);

4、延续任务:在某个任务后执行


BackgroundJob .ContinueJobWith( 
    jobId, 
    () => Console .WriteLine( "继续!" ));

5、批量执行任务


var batchId = BatchJob.StartNew(x =>
{
    x.Enqueue(() => Console.WriteLine("Job 1"));
    x.Enqueue(() => Console.WriteLine("Job 2"));
});

6、批量延续任务


BatchJob.ContinueBatchWith(batchId, x =>
{
    x.Enqueue(() => Console.WriteLine("Last Job"));
});

03
更多工作台界面
1、任务列表
图片

2、添加任务

图片

3、重试任务

图片

4、失败任务

图片

5、重复任务

图片

6、批量任务

图片

7、邮件发送
图片

8、待定邮件

图片

04
项目地址
https://github.com/HangfireIO/Hangfire

文档更新时间: 2024-04-12 06:49   作者:admin