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


    一、使用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服务上

  • 相关阅读:
    JS—ajax及async和defer的区别
    js-cookie和session
    h5小功能_classList和自定义属性data
    html5-attr和prop
    人工智能与金融
    IBM的人工智能“沃森”首次确诊罕见白血病,只用了10分钟!
    终极复制 人工智能将如何推动社会巨变
    对人工智能问题的提问
    人工智能预测精神病
    人工智能代替工人
  • 原文地址:https://www.cnblogs.com/huanglin101/p/5780684.html
Copyright © 2020-2023  润新知