asp.net core 2.0 定時任務
阿新 • • 發佈:2018-11-29
介紹TimeJob
首先專案新增引用
然後註冊服務並使用:
services.AddTimedJob();//註冊TimeJob服務
app.UseTimedJob();//使用timeJob
編寫類,繼承自Pomelo.AspNetCore.TimedJob.Job
public class CountLogAndEmailJob:Job
{
private readonly IUserService _userSvc;
private readonly IWorkLogService _logSvc;
private readonly IEmailSender _emailSender;
public CountLogAndEmailJob(IUserService userSvc, IWorkLogService logSvc, IEmailSender emailSender)
{
_logSvc = logSvc;
_userSvc = userSvc;
_emailSender = emailSender;
}
//Begin 起始時間;
//Interval 表示時間間隔,單位是毫秒,此處事24小時;
//SkipWhileExecuting 是否等待上一個執行任務完成,true為等待
[Invoke(Begin = "2018-11-29 11:29",Interval = 1000*3600*24,SkipWhileExecuting = true)]
public void Run(IServiceProvider services)
{
//定時任務具體執行的業務邏輯
//查詢
//統計
//傳送郵件
//_emailSender.SendEmailAsync("[email protected]", "日誌彙總情況", "有幾個個人沒寫日誌");
}
}
然後就OK啦。。。