dotnet core 简易定时任务框架TimeJob
很多时候我们可能需要周期重复做一些事情, 定时任务框架应运而生.
在Linux下面crontab集合shell脚本做一些定时重复操作是常见通用的.
但是有时候我们可能需要在程序中做类似的事情,如:
定时邮件推送
定时监控日报生成
XXX…
Java这边,一般都使用Quartz框架简单实现定时任务.
.NET这边,也有Quartz.net,不过ASP.NET时代受制于IIS,经常会有同行小伙伴说抱怨定时任务偶尔突然就不跑.
参考文章:
到了dotnet core时代,自宿主不依赖IIS了,也有自己独立的主线程之后,我们做定时任务就很方便了.
开源dalaoAmamiya Yuuko 就自己撸了一个简易定时任务框架出来啦.
GitHub开源地址:https://github.com/PomeloFoundation/dotNETCore-Extensions
Nuget地址:Pomelo.AspNetCore.TimedJob
TimeJob 使用教程
Start.cs的ConfigureServices注入AddTimedJob服务
代码如下:
1 | public void ConfigureServices(IServiceCollection services) |
Start.cs的Configure引入UseTimedJob中间件
1 | public void Configure(IApplicationBuilder app, IHostingEnvironment env) |
新建一个XXXJob.cs类,继承于Job
1 |
|
大功告成!
如果需要把定时任务相关的内容固化到数据库,可以参考:Timed Job - Pomelo扩展包系列
嗯?完了?…
对啊,结束了.
真结束了….