using Microsoft.Extensions.Hosting; using System; using System.IO; using System.Threading; using System.Threading.Tasks;
namespace Sheepsoft.Core.Common { /// <summary> /// /// </summary> public class JobCommon : BackgroundService { protected override async Task ExecuteAsync(CancellationToken stoppingToken) {
while (!stoppingToken.IsCancellationRequested) { await new TaskFactory().StartNew(() => { try { //定时任务业务逻辑,比如: string value = DateTime.Now.ToString(); StreamWriter sw = new StreamWriter(@"D:\1.txt", true);//true有新数据继续写,false后边的数据覆盖前边的 sw.WriteLine("执行时间: " + value); sw.Flush(); sw.Close();
//满足某种条件执行 比如每天凌晨执行 var time = DateTime.Now.ToString("HH:mm:ss"); if ("00:01:00" == time) { //业务逻辑 Console.WriteLine(DateTime.Now + ":进入这里了");
}
} catch (Exception exp) { //错误处理 }
//定时任务休眠 Thread.Sleep(1 * 1000); }); }
} }
/** * * 最后在ConfigureServices里注册下
//定时任务的注入 services.AddTransient<Microsoft.Extensions.Hosting.IHostedService, Job>(); * * * **/ }