zoukankan      html  css  js  c++  java
  • webapi+Quartz.NET解决若干定时程序同时运行的问题

    项目现状:

    有若干定时程序需要自启动运行,为了简便程序部署等问题,采取这种办法把定时程序集中管理到webapi中跟随api发布

    代码架构介绍:

    新建一个类库,类库引用Quartz(Quartz.2.3.2),每个需要统一管理的程序新建一个文件,其中包括处理程序类和接口

    类库中做一个接口静态类,便于api的Application_Start方法调用

    其中JobScheduler类的静态方法如下:

     public static void Start()
            {                   
                StdSchedulerFactory factory = new StdSchedulerFactory();
                IScheduler scheduler = factory.GetScheduler();        

                /*-------------计划任务代码实现------------------*/
                //创建任务1
                IJobDetail job = JobBuilder.Create<CityData.CityDataCaiji>().Build();
                //创建触发器1
                ITrigger trigger = TriggerBuilder.Create().WithIdentity("TimeTrigger", "TimeGroup")
                    .WithSimpleSchedule(t => t
                    .WithIntervalInMinutes(5)
                    .RepeatForever())
                    .Build();

               //创建任务2
                IJobDetail job1 = JobBuilder.Create<DataBaseBackup.DatabaseBackup>().Build();
                //创建触发器2
                ITrigger trigger1 = TriggerBuilder.Create().WithIdentity("TimeTrigger1", "TimeGroup1")
                    .WithSimpleSchedule(t => t
                    .WithIntervalInMinutes(10)
                    .RepeatForever())
                    .Build();
                //添加任务及触发器至调度器中
                scheduler.ScheduleJob(job, trigger);
                scheduler.ScheduleJob(job1, trigger1);
                scheduler.Start();
            

            }

    每个定时程序分别差功能键自己的任务和触发器,由scheduler统一调度。

  • 相关阅读:
    图像细节是高频,轮廓是低频
    Matlab实现西格玛(Sigma)平滑滤波
    Matlab实现细线化方法
    Matlab均匀性度量法实现图像二值化
    Matlab图像处理基础算法集锦(转载)
    Win7 下打开wifi共享的方法
    Day29 Matlab实现图像膨胀源代码
    时间类型和字符串类型之间的转换
    error: illegal character 'ufeff' 的解决方案
    无法卸载Sql Server 的解决办法
  • 原文地址:https://www.cnblogs.com/pangzili/p/8748933.html
Copyright © 2011-2022 走看看