• Quartz 定时任务



    Quartz.net 3.0 定时任务,数据统计,排行榜,数据同步,lucene索引更新

    1.Quartz nuget 添加 引用
    2.三大核心对象:IScheduler:单元/实例,在这里完成定时任务的配置
    只有单元启动,里面的作业才能正常运行;
    IJob:任务
    ITrigger:定时策略

    1 quartZ引入&初始化&使用
    2 核心对象IScheduler,Job、Trigger解析
    3 三种Listener扩展订制
    4 可视化界面管理
    5 IOC容器结合


    6 自定义的定时调度框架

    StdSchedulerFactory factory = new StdSchedulerFactory();
    IScheduler scheduler = await factory.GetScheduler();
    scheduler.ListenerManager.AddSchedulerListener(new CustomSchedulerListener());
    scheduler.ListenerManager.AddTriggerListener(new CustomTriggerListener());
    scheduler.ListenerManager.AddJobListener(new CustomJobListener());
    await scheduler.Start();

    IJobDetail jobDetail = JobBuilder.Create<TestStatefulJob>()
    .WithIdentity("testjob", "group1")
    .WithDescription("This is TestJob")
    .Build();

    ITrigger trigger = TriggerBuilder.Create()
    .WithIdentity("testtrigger1", "group1")
    .StartAt(new DateTimeOffset(DateTime.Now.AddSeconds(10)))
    //.StartNow()//StartAt
    .WithCronSchedule("5/10 * * * * ?")//每隔一分钟
    //"10,20,30,40,50,0 * * * * ?"
    .WithDescription("This is testjob's Trigger")
    .Build();

    await scheduler.ScheduleJob(jobDetail, trigger);
    Console.WriteLine("scheduler作业添加完成......");

    -----------------------------

    1 quartZ引入&初始化&使用
    2 核心对象Job、Trigger解析
    3 三种Listener扩展订制

    定时调度:大半夜跑一些数据统计,排行榜
    数据同步---id&name更新--lucene索引更新
    其实跟数据库作业很像,但是这个不只是数据库

    QuartZ.Net3.0+


    4 定时任务可视化界面管理
    5 配置文件使用和IOC容器结合
    6 WindowsService应用

    可视化管理工具:就是为了解决定时任务执行过程中,需要监控--人工介入这种需求
    Web系统(只能运行在当前服务器)
    a 建立web项目--4.5.2以上版本--
    b 网站添加quartz--CrystalQuartz.Remote
    webconfig有个SchedulerHost---网站和服务交互渠道---需要在定时Scheduler启动时做好配置
    c 定时任务的SchedulerFactory完成配置
    d 二者端口统一;如果监听不到,或者防火墙


    配置文件:把trigger和job都通过配置文件指定
    初始化Scheduler使用XMLSchedulingDataProcessor

    结合起来,开发者需要写的,就是一个Job业务
    再就是做好配置文件 job-trigger
    负责人做下可视化的配置,加上初始化Scheduler
    可以扩展下日志--listener

    QuartZ跟网站结合起来的例子,有,但是我几乎没看过
    MVC+WebApi+WebService 都是寄宿在IIS,而IIS会定时回收进程池
    (假设默认没有请求--30分钟就回收--再请求再启动)
    整点的第1分钟执行操作,所以是无法保障的
    合适的工具做合适的事儿,一般会把服务独立,windows service

    历史数据归档---Order&OrderHistory---00:30--定时操作
    发邮件---618节日促销---100w用户都邮件一遍---多个邮箱服务器多时段
    排行数据 报表 数据更新 同步。。。

    Windows Services 非常适合做定时服务---还有托管WCF

  • 相关阅读:
    前端资源
    WCF常见异常-The maximum string content length quota (8192) has been exceeded while reading XML data
    Asp.Net MVC路由调试工具-RouteDebugger
    Java中String 的equals 和==详解
    记一次高级java工程师职位的面试
    java中Class对象详解和类名.class, class.forName(), getClass()区别
    2014读书计划
    Javascript quiz
    CSS3 Flexbox布局那些事
    前端开发中的图片优化
  • 原文地址:https://www.cnblogs.com/csj007523/p/14397753.html
Copyright © 2020-2023  润新知