在我以前的文章中有一個.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(); 非常簡單就可以實現定時任務了。