.Net core使用TimeJob
转自:https://www.cnblogs.com/Ivan-Wu/p/9909742.html
在我以前的文章中有一个.Net core使用Quartz.Net ,一开始我们的设想就是定时操作数据库,所以有很多实现方法,后来发现TimeJob可以同样实现我们的需求,而且更简便。
所以我们就使用了TimeJob,这是TimeJob教程:http://www.1234.sh/post/pomelo-extensions-timed-jobs?tdsourcetag=s_pcqq_aiomsg
其实使用TimeJob非常简单,当然TimeJob不是官方包,所以我们先引入这个包:Pomelo.AspNetCore.TimedJob
引入成功之后呢,我们在startup类中的ConfigureServices方法中添加:
services.AddTimedJob();
然后在configure方法中添加:
app.UseTimedJob();
添加完之后,建立TimeJob类,记得继承Job类:
using Pomelo.AspNetCore.TimedJob; namespace Demo.Unit { public class TestJob:Job { [Invoke(Begin = "2018-11-2 11:30", Interval = 20)] public void Test(IServiceProvider service) { string path = @"C:\Users\win 10\Desktop\1.txt"; string value = DateTime.Now.ToString(); if (File.Exists(path)) { File.Delete(path); } StreamWriter streamWriter = new StreamWriter(path, true); streamWriter.WriteLine(value); streamWriter.Flush(); streamWriter.Close(); GC.Collect(); } } }
这里要注意的是要引入
Pomelo.AspNetCore.TimedJob;
然后这里的test方法就是定时执行的方法,begin就是开始时间,然后后面的参数就是多少秒执行一次,也就是间隔时间。
要注意最后要GC.Collect(); 非常简单就可以实现定时任务了。