XXL-JOB真的要凉了?出现了一个王炸级别的分布式任务调度与计算框架?( 二 )

  • OpenAPI:允许开发者通过接口来完成手工的操作,让系统整体变得更加灵活 。开发者可以基于 API 便捷地扩展 PowerJob 原有的功能 。
  • 定时任务类型
    • API:该任务只会由 powerjob-client 中提供的 OpenAPI 接口触发 , server 不会主动调度 。
    • CRON:该任务的调度时间由 CRON 表达式指定 。
    • 固定频率:秒级任务,每隔多少毫秒运行一次,功能与 java.util.concurrent.ScheduledExecutorService#scheduleAtFixedRate 相同 。
    • 固定延迟:秒级任务 , 延迟多少毫秒运行一次,功能与 java.util.concurrent.ScheduledExecutorService#scheduleWithFixedDelay 相同 。
    • 工作流:该任务只会由其所属的工作流调度执行,server 不会主动调度该任务 。如果该任务不属于任何一个工作流,该任务就不会被调度 。
    备注:固定延迟和固定频率任务统称秒级任务,这两种任务无法被停止,只有任务被关闭或删除时才能真正停止任务 。
    搭建PowerJob环境本地启动初始化项目git clone https://Github.com/PowerJob/PowerJob.git
    导入 IDE,源码结构如下,我们需要启动调度服务器(powerjob-server),同时在 samples 工程中编写自己的处理器代码
    XXL-JOB真的要凉了?出现了一个王炸级别的分布式任务调度与计算框架?

    文章插图
    启动调度服务器
    1. 创建数据库(仅需要创建数据库):找到你的 DB,运行 SQL CREATE DATABASE IF NOT EXISTS `powerjob-dAIly` DEFAULT CHARSET utf8mb4,搞定~
    2. 修改配置文件:配置文件的说明官方文档写的非常详细,此处不再赘述 。需要修改的地方为数据库配置spring.datasource.core.jdbc-url、spring.datasource.core.username和spring.datasource.core.password,当然,有 mongoDB 的同学也可以修改spring.data.mongodb.uri以获取完全版体验 。
    powerjob-server 日常环境配置文件:application-daily.properties
    oms.env=DAILYlogging.cnotallow=classpath:logback-dev.xml####### 外部数据库配置(需要用户更改为自己的数据库配置) #######spring.datasource.core.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.core.jdbc-url=jdbc:mysql://localhost:3306/powerjob-daily?useUnicode=true&characterEncoding=UTF-8&serverTimeznotallow=Asia/Shanghaispring.datasource.core.username=rootspring.datasource.core.password=No1Bug2Please3!spring.datasource.core.hikari.maximum-pool-size=20spring.datasource.core.hikari.minimum-idle=5####### mongoDB配置,非核心依赖,通过配置 oms.mongodb.enable=false 来关闭 #######oms.mongodb.enable=truespring.data.mongodb.uri=mongodb://localhost:27017/powerjob-daily####### 邮件配置(不需要邮件报警可以删除以下配置来避免报错) #######spring.mail.host=smtp.163.comspring.mail.username=zqq@163.comspring.mail.password=GOFZPNARMVKCGONVspring.mail.properties.mail.smtp.auth=truespring.mail.properties.mail.smtp.starttls.enable=truespring.mail.properties.mail.smtp.starttls.required=true####### 资源清理配置 #######oms.instanceinfo.retentinotallow=1oms.container.retention.local=1oms.container.retention.remote=-1####### 缓存配置 #######oms.instance.metadata.cache.size=1024
    1. 启动应用:完成配置文件的修改后,可以直接通过启动类 tech.powerjob.server.PowerJobServerApplication 启动调度服务器(注意:需要使用 daily 配置文件启动,可自行百度搜索“SpringBoot 指定配置文件启动”),观察启动日志,查看是否启动成功~启动成功后,访问 http://127.0.0.1:7700/,如果能顺利出现 Web 界面 , 则说明调度服务器启动成功!
    2. 注册应用:点击主页应用注册按钮,填入 powerjob-agent-test 和控制台密码(用于进入控制台),注册示例应用(当然你也可以注册其他的 appName,只是别忘记在示例程序中同步修改~)

    XXL-JOB真的要凉了?出现了一个王炸级别的分布式任务调度与计算框架?

    文章插图
    图片
    Docker-compose启动环境要求本地需要安装docker和docker-compose
    下载代码 
    git clone --depth=1 https://github.com/PowerJob/PowerJob.git 
    运行cd PowerJobdocker-compose updocker-compose up -d刚开始启动时,powerjob-worker-samples会启动失败,等powerjob-server启动成功后 , powerjob-worker-samples才会启动成功 。这大概需要几分钟 。
     
    运行成功后,浏览器访问 http://127.0.0.1:7700/ 应用名称:powerjob-worker-samples密码:powerjob123


    推荐阅读