Core 定时任务之TimeJob
Core 定时任务之TimeJob
第一:引入NuGet包:
Install-Package Pomelo.AspNetCore.TimedJob -Version 1.1.0-rtm-10026
第二:
在StartUp 中注册Job:
public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.Configure<AppSettings>(Configuration.GetSection("AppSettings")); services.AddTimedJob();//使用job } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseTimedJob();/////////////////使用Job app.UseMvc(); } }
第三写个类:
public class TimeJob: Job { // Begin 起始时间;Interval执行时间间隔,单位是毫秒,建议使用以下格式,此处为3小时; //SkipWhileExecuting是否等待上一个执行完成,true为等待; [Invoke(Begin = "2019-8-3 10:30:00", Interval = 1000*10 , SkipWhileExecuting = true)] public void Run() { //Job要执行的逻辑代码 Console.WriteLine(DateTime.Now); } }
//程序只要运行起来,就会自动出发这个TimeJob类,只需要把定时做的业务放在类里就🆗了