您的位置:首页 > 其它

quartz.net 使用(一)-执行定时计划任务

2016-08-17 16:49 483 查看
一、使用nuget安装所需要的包

Install-Package Quartz


二、实现自己的job继承IJob

public class FirstJob : IJob
{

public void Execute(IJobExecutionContext context)
{

try
{
Common.LogHelper.WriteLog(DateTime.Now.ToString() + ":执行计划开始");//写log
//你需要执行的计划任务
}
catch (Exception ex)
{
Common.LogHelper.WriteError(DateTime.Now.ToString() + ":执行计划出现了错误;", ex);
throw;
}
}


 三、启动计划任务

public void Start()
{
try
{
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();//获取默认的scheduler
string quartzExperssion= ConfigurationManager.AppSettings["QuartzExpression"];
if (string.IsNullOrWhiteSpace(quartzExperssion))
{
quartzExpression = "0 0 2 * * ?";//默认成凌晨两点
}
scheduler.Start();
IJobDetail job = JobBuilder.Create<HistoryDataMoveJob>()
.WithIdentity("我的计划", "计划")
.Build();

ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("我的计划", "计划")
.StartNow()
.WithCronSchedule(clocktimeExpression)//0 0 12 * * ?
.Build();

scheduler.ScheduleJob(job, trigger);
Common.LogHelper.WriteLog(DateTime.Now.ToString() + ":启动任务计划");
}
catch (Exception ex)
{
Common.LogHelper.WriteError(DateTime.Now.ToString() + ":启动计划任务失败", ex);
}
}


 四、本来是想寄宿在IIS上的,结果发现,IIS设置了闲置回收,quartz进程被IIS回收杀掉了,并没有执行,系统原因不能关掉闲置回收功能,所以将quartz又改造,寄宿到windows服务上
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: