quartz详解5:官网example分析
quartz官方提供了15个example,方便开发者理解quartz的用法。现在结合源码对实例的使用进行分析。参见:http://www.quartz-scheduler.org/documentation/quartz-2.2.x/examples/
quartz详解4:quartz线程管理
quartz启动后有多个线程同时在跑。启动时会启动主线程、集群线程、检漏线程、工作线程。主线程负责查询到需要触发的线程,并放入到线程队列。集群线程负责集群、检漏线程负责对未成功执行的任务进行检漏。工作线程默认是20,一般PC服务器可以调到200。一、主线程QuartzScheduleThread二、线程池SimpleThreadPool三、工作线程WorkThread四、集群线程ClusterManager和检漏线程MisfireHandler五、总结:从线程角度来分析集群的性能的话,主要是:1、主线程QuartzScheduleThread的瓶颈很可能出现在数据库行锁。--可以考虑定时任务数据保存在分布式缓存。减少对数据库的过分依赖。2、工作线程WorkThread的瓶颈很可能出现在任务的阻塞。--可以通过用异步任务来解析,异步任务如何放在数据库有性能问题可以再考虑分布式缓存。
quartz详解3:quartz数据库集群-锁机制
详细介绍数据库锁机制。通过源码分析代码中实现的两种锁STATE_ACCESS 和TRIGGER_ACCESS的使用范围。
quartz详解2:quartz由浅入深
一、quartz核心概念介绍Job JobDetail Trigger Calendar Scheduler ThreadThread等核心概念二、简单的使用入门三、文字介绍quartz的各组件如何设计,实现什么功能。四、结构与流程分析:通过分析源码,流程图、序列图等方式深入分析各部分的实现。1、定时器启动;2、触发点火 3、在线程中运行任务
quartz详解1:初步了解quartz?
一、定时任务的需求描述二、为什么研发团队会选择quartz三、quartz支持集群-通过数据库行锁。四、企业如何使用,阿里easySchedule