.net定时调度简单入门

.net里面的定时调度我是使用的一个框架(Quartz.net) 定时调度 就是使程序根据制定的时间可以启动

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
using Quartz;

namespace 定时调度Demo
{
    //定义一个类是这个类实现Quartz框架的Ijob接口
    public class TimeJob : IJob
    {
        //实现这个接口的方法  这个方法是执行任务的方法
        public Task Execute(IJobExecutionContext context)
        {

            //在这里写入自己的业务逻辑
            System.IO.File.AppendAllText(@"E:\测试.txt", "测试Quartz框架"+(DateTime.Now),System.Text.Encoding.UTF8);
            //代码出错 会抛出一个异常    
            throw new NotImplementedException();
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Quartz;
using Quartz.Impl;
using Quartz.Util;
using System.Threading.Tasks;
namespace 定时调度Demo
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        //创建一个调度器
        IScheduler scheduler;
        //调度器工厂来获取IScheduler的一个实例
        ISchedulerFactory factory;
        protected void Page_Load(object sender, EventArgs e)
        {

            HttpContext.Current.Response.Write("程序开始启动......");
            //获取调度器的一个实例
            factory = new StdSchedulerFactory();
            scheduler = factory.GetScheduler().Result;
            //创建一个任务 并获取任务详情的一个实例 第一个参数是任务名次 第二个是分组名称
            IJobDetail job = JobBuilder.Create<TimeJob>().WithIdentity("MyJob", "group1").Build();
            //创建一个触发器 WithCronSchedule里面参数是cron表达式
            ITrigger trigger = TriggerBuilder.Create().WithIdentity("MyTrigger", "group1").WithCronSchedule("/5 * * ? * *").Build();
            //把任务和触发器 加入到调度器
            scheduler.ScheduleJob(job, trigger);
            //开始执行任务
            scheduler.Start();
            HttpContext.Current.Response.Write("程序运行结束......");

        }
    }
}

猜你喜欢

转载自blog.csdn.net/testdatas/article/details/80391503
今日推荐