msa-scheduler-use

Microservice architecture solutions make it easier and lighter to implement.


msa-scheduler-use

Introduction

msa-scheduler是为调度众多定时任务而生的调度中心,msa-scheduler单机最大可承受几万个定时任务的执行,可采用集群模式,可将定时任务平均 分配到各个集群节点,减轻单机执行任务的负担,有如下特点:

  • 可伸缩
  • 错失触发
  • 任务优先级
  • 发送http请求调用任务,将定时任务从应用中解耦(支持spring cloud eureka服务发现、microcmpt服务发现以及传统的url)

Quick Start

step1:下载zip并解压
step2:执行doc下的sql脚本
step3:启动scheduler
  • [windows] 执行scheduler.cmd脚本
  • [linux] 执行scheduler.sh脚本
step4:添加一个定时任务

访问http://localhost:8080/scheduler-ui.html,新增任务

Open mail notification

step1:通过提供的工具,对scheduler.mail.password加密并修改config/scheduler.properties中scheduler.mail.password的值

工具下载:mail-encrypt

step2:运行加密工具包
java -jar mail-encrypt.jar
step3:根据提示,输入你要加密的邮箱授权码,按回车键,加密后的密码会显示在窗口下方
Please input your encode data:
123456
After your encode data is:MTIzNDU2MXEydzNlNHIhQCMk

Properties Introduction

属性 说明
scheduler.zk.enable true/false 开启zk服务注册中心,默认为false
scheduler.zk.addresses localhost:2181 zk访问地址,根据自己的zk地址而定,多个以英文逗号分隔
scheduler.mail.enable true/false 是否开启发送邮件通知
scheduler.mail.host 示例格式:smtp.qq.com 邮箱主机服务器地址
scheduler.mail.username 示例格式:1378127237@qq.com 发送人邮件地址
scheduler.mail.password 发送人邮箱授权码,加密后的
scheduler.mail.protocol smtp 邮箱协议,默认为smtp
scheduler.mail.to 示例格式:1378127237@qq.com 接收人邮箱地址,多个以英文逗号分隔
scheduler.mail.properties.mail.smtp.auth true/false 邮箱授权
scheduler.mail.properties.mail.smtp.starttls.enable true/false 开启tls
scheduler.mail.properties.mail.smtp.stattls.required true/false ttl是否必要
scheduler.quartz.threadPool.threadCount 示例格式:13 quartz核心线程池大小
scheduler.quartz.dataSource.quartzDS.driver 示例格式:com.mysql.jdbc.Driver mysql数据库驱动类,如果是6.0版本以上驱动类注意
scheduler.quartz.dataSource.quartzDS.URL 示例格式:jdbc:mysql://localhost:3306/quartz?characterEncoding=utf-8&useSSL=false mysql数据库地址
scheduler.quartz.dataSource.quartzDS.user 示例:root 数据库用户名
scheduler.quartz.dataSource.quartzDS.password 示例格式:123456 数据库密码
scheduler.quartz.dataSource.quartzDS.maxConnections 示例格式:5 数据库最大连接池大小
scheduler.quartz.jobStore.isClustered true/false 开启集群
scheduler.quartz.jobStore.clusterCheckinInterval 示例格式:15000 集群节点心跳检测时间
scheduler.okhttp.connect-timeout 示例格式:20 http连接超时时间,单位:秒
scheduler.okhttp.read-timeout 示例格式:30 http读超时间,单位:秒
scheduler.okhttp.write-timeout 示例格式:30 http写超时间,单位:秒
scheduler.okhttp.retries 示例格式:3 http请求重试次数
scheduler.quartz.threadPool.threadCount 示例格式:13 quartz核心线程池大小
scheduler.eureka.client.enable true/false 是否启用eureka服务注册中心
scheduler.eureka.client.defaultZone 示例格式:http://localhost/eureka/ eureka服务注册中心url