quartzscheduler开源框架学习记录

cjn123 cjn123     2023-03-20     377

关键词:

 1.简介
 2.优点
 3.核心元素介绍
 4.线程视图
 5.数据存储
  1. 简介

Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现。该项目于 2009 年被 Terracotta 收购,目前是 Terracotta 旗下的一个项目。 http://www.quartz-scheduler.org/ 这里可以下载 Quartz 的发布版本及其源代码。

  1. 优点
  • 强大的调度功能,例如支持丰富多样的调度方法,可以满足各种常规及特殊需求;
  • 灵活的应用方式,例如支持任务和调度的多种组合方式,支持调度数据的多种存储方式;
  • 分布式和集群能力,Terracotta 收购后在原来功能基础上作了进一步提升。本文暂不讨论该部分内容
  • 作为 Spring 默认的调度框架,Quartz 很容易与 Spring 集成实现灵活可配置的调度功能。
  1. 核心元素介绍
  • scheduler 任务调度器:可以理解为实际执行调度的控制器。
    在 Quartz 中, scheduler 由 scheduler 工厂创建:
    (1)DirectSchedulerFactory 
    (2)StdSchedulerFactory。 
    Scheduler 主要有三种: 
    (1)RemoteMBeanScheduler 
    (2)RemoteScheduler 
    (3)StdScheduler。最常用! 

  • trigger 触发器:用于定义任务调度时间规则。
    Quartz 中主要提供了四种类型的 trigger:
    (1)SimpleTrigger;
    (2)CronTirgger;
    (3)DateIntervalTrigger;
    (4)NthIncludedDayTrigger;

  • job 任务。
    主要有两种类型的 job:
    (1)无状态的(stateless)
    (2)有状态的(stateful)

对于同一个 trigger 来说,有状态的 job 不能被并行执行,只有上一次触发的任务被执行完之后,才能触发下一次执行。

技术图片

  1. 线程视图 

技术图片

 

 

    1. 数据存储 
      qrtz_blob_triggers : 以Blob 类型存储的触发器。
      qrtz_calendars:存放日历信息,quartz可配置一个日历来指定一个时间范围。
      qrtz_cron_triggers:存放cron类型的触发器。
      qrtz_fired_triggers:存放已触发的触发器。
      qrtz_job_details:存放一个jobDetail信息。
      qrtz_job_listeners:job监听器。
      qrtz_locks: 存储程序的悲观锁的信息(假如使用了悲观锁)。
      qrtz_paused_trigger_graps:存放暂停掉的触发器。
      qrtz_scheduler_state:调度器状态。
      qrtz_simple_triggers:简单触发器的信息。
      qrtz_trigger_listeners:触发器监听器。
      qrtz_triggers:触发器的基本信息。

ps: https://github.com/AnnCoding/quartzDemo 持续更新......

分布式定时任务调度框架quartz学习与实战记录完整篇(代码片段)

...,用于执行你想要执行的任何任务。Quartz是OpenSymphony开源组织在Jobscheduling(定时调度)领域的开源项目,它可以与J2EE和J2SE应用程序相结合也可以单独使用。Quartz是开源且具有丰富特性的任务调度库,能够集... 查看详情

spring学习记录

...  Spring框架是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架,也是现在最流的框架之一,Spring的核心就是IOC(控制反转)和AOP(切面编程),极大的方便了开发使用和后期的维护测试。Spring使用  工具:Myeclipse10,JDK1.7Spring3... 查看详情

springboot集成springscheduler和quartzscheduler

本文介绍了SpringBoot集成SpringScheduler和QuartzScheduler的基础知识,利用ShedLock解决SpringScheduler多实例运行冲突,介绍了QuartzScheduleBuilder、Calendar,介绍了动态创建QuartzJob的方法。GitHub源码SpringSchedulerSpringFramework提供了简单、易用的Job... 查看详情

lenskit<开源推荐系统框架java;学习笔记(代码片段)

这段时间需要为网站添加推荐功能,一开始学习了一下推荐系统的一些经典算法,基于物品得,基于用户的等等,学习不是很深刻。利用学习LensKit的机会,把之前学习片段拾起来,记录一下。1、下载开发... 查看详情

如何学习开源框架

...能看懂,最近看了《Struts2技术内幕》,在读到如何学习开源框架时,感觉说的很对,很好,学习方法值得我们借鉴。            如何学习开源框架      查看详情

ssh学习记录之spring

...#xff0c;面试题中经常会涉及到。   什么是Spring?------开源的控制反转和面向切片的容器框架。   Spring框架的特点------ 1.轻量:Spring是轻量级的                      2.控制反转:Spring通过控制反转实现了... 查看详情

如何选择开源的机器学习框架?

...和大家分享的是针对不同行业,我们应该如何选择合适的开源框架,一起来看看吧,希望对大家有所帮助。 为什么要选择机器学习框架呢? 使用开源工具的好处不仅仅在于其可用性。通常来说,如此级别的项目均有大量的数据... 查看详情

旧记录-1(代码片段)

...语义识别等领域,应用日益广泛。目前,主流的深度学习开源平台有Tensorflow、Caffe、PyTorch、Keras、Thenno等,下图显示了2018年Github上不同DL平台受欢迎的程度:    对比五种主流的开源平台:开源框架编程语言特点Ten... 查看详情

开源深度学习框架(楚才国科)

周早些时候Google开源了TensorFlow(GitHub),此举在深度学习领域影响巨大,因为Google在人工智能领域的研发成绩斐然,有着雄厚的人才储备,而且Google自己的Gmail和搜索引擎都在使用自行研发的深度学习工具。无疑,来自Google军火... 查看详情

值得我们深度学习的十大开源框架

本周早些时候Google开源了TensorFlow(GitHub),此举在深度学习领域影响巨大,因为Google在人工智能领域的研发成绩斐然,有着雄厚的人才储备,而且Google自己的Gmail和搜索引擎都在使用自行研发的深度学习工具。无疑,来自Google军火... 查看详情

人工智能领域常用的开源框架和库(含机器学习/深度学习/强化学习/知识图谱/图神经网络)

...本文主要讨论人工智能领域中常用的支持Python编程语言的开源框架和库,因此全面性肯定有限!一、机器学习常用的开源框架和库1.Scikit-learn作为专门面向机器学习的Python开源框架,Scikit-learn内部实现了多种机器学习算法,容易... 查看详情

开源框架mahout配置

开源框架Mahout配置机器学习这两年特别火,ATB使劲开百万到几百万年薪招美国牛校的机器学习方向博士,作为一个技术控,也得折腾下,就这样来初步折腾下Mahout这个机器学习的主流开源框架。一、Mahout简介Mahout的中文意思:驭... 查看详情

美图工作记录-1

...写基础算法了,看了几篇深度学习入门论文和使用了几个开源框架,总体上来说深度学习没有传统学习那么多数学推导,但是用过在图像之后竟然效果那么好。因此这笔记是记录一些日常使用的shell脚本。查看程序:ps-ef|grep关闭... 查看详情

学习开源项目guns遇到的问题记录

  启动guns项目(5.0)卡死在如下界面   原因不太明确:最初是将logback-spring.xml配置文件删除即可正常启动,后查找原因不知为何springboot启动后默认激活“dev”配置而不是local配置,即使有下图配置,依然激活的是“dev... 查看详情

dicomrt:开源基础库cornerstone框架概述

题记:肿瘤放射治疗领域的研究是一个学习DICOM标准(尤其是DICOMRT)很好的实例,涵盖了:传统的医学图像存储(即我们通常讲的DICOM图像文件,其中包含pixeldata标签,这个部分也是大多数人认为的DICOM的全部),肿瘤区域标记... 查看详情

dicomrt:开源基础库cornerstone框架概述

题记:肿瘤放射治疗领域的研究是一个学习DICOM标准(尤其是DICOMRT)很好的实例,涵盖了:传统的医学图像存储(即我们通常讲的DICOM图像文件,其中包含pixeldata标签,这个部分也是大多数人认为的DICOM的全部),肿瘤区域标记... 查看详情

多巴胺:谷歌开源新型增强学习框架

https://mp.weixin.qq.com/s/KRyr0y84k6vkezuuM408lw Google近日宣布开源一个新的基于Tensorflow的框架——Dopamine,旨在为新手和资深RL(强化学习)研究人员提供灵活性、稳定性和可重复性。该框架受大脑中的奖励动机行为启发,反映了神经... 查看详情

05.odoo12开源框架学习

博客为日常工作学习积累总结:1.odoo12学习参考博客:https://alanhou.org/centos-odoo-12/CentOS7快速安装配置Odoo12添加新用户必做,不然文件权限odoo用户五权限      useradd-m-U-r-d/opt/odoo-s/bin/bashodoo设置密码:   passwdodoo... 查看详情