一、调度器完整配置
以下配置文件中包含了所有配置项,是经历过调优的最佳实践,使用时可以根据自己的需求场景修改。
############# 调度器配置 #############
# 用于标识实例的唯一性
server.id=1
# 调度器提前调度时间,默认3000毫秒,用作在一些网络等延迟场景下提前调度,任务会先放入执行器内存队列,时间到达时才会真正执行
schedulers.beforeInterval=3000
# 调度器超时时间,调度器多久没心跳时则超时,单位毫秒
schedulers.timeout=30000
# 调度器每次从任务日志加载到内存队列的任务数量,如果任务量大,1秒内调度任务数多,则可以调高此值增加吞吐量,如果任务量少,此值过大会导致其他调度器拿不到调度任务,存在调度倾斜的问题
schedulers.taskQueueCount=10
# 调度器预生成任务日志的时候,只预生成生成配置值分钟以内的任务日志
schedulers.taskPreGenerationMaxTimeMinutes=3
# 任务日志、执行器记录、统计记录最大保留的天数
data.maxRetainDays=5
# 管理后台与调度器通信的签名Key
manager.signKey=6b540a079699b196d678af5801b79b4e
# 执行器与调度器通信的签名Key
executor.signKey=7d890a079948b196756rtf5452d2245t
############# 调度器配置 #############
############# 执行器配置 #############
# 执行器的超时时间,超过这个时间没有心跳则认为是下线
executor.timeout=30000
############# 执行器配置 #############
############# 数据源配置 #############
database.driverClassName=com.mysql.cj.jdbc.Driver
database.url=jdbc:mysql://localhost:3306/cron-job?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true
database.username=horace
database.password=SGJIWkjfdsof923847
# 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时
database.initialSize=5
# 连接池最大连接数
database.maxActive=20
# 连接超时时间,毫秒
database.connectTimeout=3000
# 读取超时时间,毫秒
database.socketTimeout=5000
############# 数据源配置 #############
############# Tomcat配置 #############
# Tomcat服务配置
server.port=9527
# 当所有可能的请求处理线程都在使用时,传入连接请求的最大队列长度。
server.tomcat.accept-count=500
# 服务器在任何给定时间接受和处理的最大连接数。一旦达到限制,操作系统仍然可以根据“acceptCount”属性接受连接。
server.tomcat.max-connections=8192
# 任何HTTP post请求中表单内容的最大大小。
server.tomcat.max-http-form-post-size=2MB
# 最大的工作线程数
server.tomcat.threads.max=600
# 最小工作线程数
server.tomcat.threads.min-spare=10
############# Tomcat配置 #############
二、管理后台UI配置
路径在cronjob-managerui/config/
中:
defaultSettings.ts
:管理后台UI的默认配置,其中signKey
是管理后台UI与调度器通信的签名Key,如需自定义,则需要与管理后台UI的配置保持一致,修改配置需要自行构建。- 其他一些配置如无特别需要,建议不做修改。
三、注意事项
server.id
是用于区分调度器唯一性的标识,必须保证唯一,否则后者启动会失败。server.port
是调度器的通信端口,如果部署在同一台物理机,则需要修改端口。高可用角度讲,不建议多个调度器部署在同一台物理机。- 数据库相关的,按照自己的实际情况修改即可。
- manager.signKey:管理后台UI与调度器通信的签名Key,如需自定义,则需要与管理后台UI的配置保持一致,在
cronjob-managerui/config/defaultSettings.ts
中的signKey
。 - executor.signKey:执行器与调度器通信的签名Key,如需自定义,则需要与执行器的配置保持一致。
最后更新