Przeglądaj źródła

- 19、[ING]任务触发参数优化:支持选择 "Cron触发"、"固定间隔时间触发"、"指定时间点触发"、"不选择" 等;
- 20、[ING]任务 misfire 策略:忽略、补偿一次、补偿最近10次……等;

xueli.xue 5 lat temu
rodzic
commit
4f1c6c7c31

+ 5 - 4
doc/XXL-JOB官方文档.md

@@ -2062,9 +2062,11 @@ data: post-data
 - 16、调度中心组件加载顺序优化,修复极端情况下调度组件初始慢导致的调度失败问题;
 - 17、执行器注册线程优化,修复极端情况下初始化失败时导致NPE问题;
 - 18、执行器Commandhandler示例任务优化,修复极端情况下脚本进程挂起问题;
-- 19、[规划中]分片任务:全部完成后才会出发后置节点;
-- 20、[规划中]执行器注册,异步写入;
-- 21、[规划中]任务触发参数优化:支持选择 "Cron触发"、"固定间隔时间触发"、"指定时间点触发"、"不选择" 等;
+- 19、[ING]任务触发参数优化:支持选择 "Cron触发"、"固定间隔时间触发"、"指定时间点触发"、"不选择" 等;
+- 20、[ING]任务 misfire 策略:忽略、补偿一次、补偿最近10次……等;
+- 21、[规划中]分片任务:全部完成后才会出发后置节点;
+- 22、[规划中]执行器注册,异步写入;
+
 
 ### 7.32 版本 v2.3.0 Release Notes[规划中]
 - 1、[规划中]DAG流程任务
@@ -2104,7 +2106,6 @@ data: post-data
 - 23、AccessToken按照执行器维度设置;控制调度、回调;
 - 24、新增执行器描述属性;任务名称属性;
 - 25、自定义失败重试时间间隔;
-- 26、任务 misfire 策略:忽略、补偿一次、补偿最近10次……等;
 
 
 ## 八、其他

+ 4 - 2
doc/db/tables_xxl_job.sql

@@ -16,6 +16,9 @@ CREATE TABLE `xxl_job_info` (
   `update_time` datetime DEFAULT NULL,
   `author` varchar(64) DEFAULT NULL COMMENT '作者',
   `alarm_email` varchar(255) DEFAULT NULL COMMENT '报警邮件',
+  `schedule_type` varchar(50) NOT NULL DEFAULT 'NONE' COMMENT '调度类型',
+  `schedule_conf` varchar(128) DEFAULT NULL COMMENT '调度配置,值含义取决于调度类型',
+  `misfire_strategy` varchar(50) NOT NULL DEFAULT 'DO_NOTHING' COMMENT '过期任务处理机制',
   `executor_route_strategy` varchar(50) DEFAULT NULL COMMENT '执行器路由策略',
   `executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler',
   `executor_param` varchar(512) DEFAULT NULL COMMENT '执行器任务参数',
@@ -111,9 +114,8 @@ CREATE TABLE `xxl_job_lock` (
   PRIMARY KEY (`lock_name`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
-
 INSERT INTO `xxl_job_group`(`id`, `app_name`, `title`, `address_type`, `address_list`, `update_time`) VALUES (1, 'xxl-job-executor-sample', '示例执行器', 0, NULL, '2018-11-03 22:21:31' );
-INSERT INTO `xxl_job_info`(`id`, `job_group`, `job_cron`, `job_desc`, `add_time`, `update_time`, `author`, `alarm_email`, `executor_route_strategy`, `executor_handler`, `executor_param`, `executor_block_strategy`, `executor_timeout`, `executor_fail_retry_count`, `glue_type`, `glue_source`, `glue_remark`, `glue_updatetime`, `child_jobid`) VALUES (1, 1, '0 0 0 * * ? *', '测试任务1', '2018-11-03 22:21:31', '2018-11-03 22:21:31', 'XXL', '', 'FIRST', 'demoJobHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2018-11-03 22:21:31', '');
+INSERT INTO `xxl_job_info`(`id`, `job_group`, `job_cron`, `job_desc`, `add_time`, `update_time`, `author`, `alarm_email`, `schedule_type`, `schedule_conf`, `misfire_strategy`, `executor_route_strategy`, `executor_handler`, `executor_param`, `executor_block_strategy`, `executor_timeout`, `executor_fail_retry_count`, `glue_type`, `glue_source`, `glue_remark`, `glue_updatetime`, `child_jobid`) VALUES (1, 1, '0 0 0 * * ? *', '测试任务1', '2018-11-03 22:21:31', '2018-11-03 22:21:31', 'XXL', '', 'CRON', '0 0 0 * * ? *', 'DO_NOTHING', 'FIRST', 'demoJobHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2018-11-03 22:21:31', '');
 INSERT INTO `xxl_job_user`(`id`, `username`, `password`, `role`, `permission`) VALUES (1, 'admin', 'e10adc3949ba59abbe56e057f20f883e', 1, NULL);
 INSERT INTO `xxl_job_lock` ( `lock_name`) VALUES ( 'schedule_lock');
 

+ 20 - 0
xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/MisfireStrategyEnum.java

@@ -0,0 +1,20 @@
+package com.xxl.job.admin.core.scheduler;
+
+/**
+ * @author xuxueli 2020-10-29 21:11:23
+ */
+public enum MisfireStrategyEnum {
+
+    /**
+     * do nothing
+     */
+    DO_NOTHING,
+
+    /**
+     * fire once now
+     */
+    FIRE_ONCE_NOW;
+
+    private int value;
+
+}

+ 25 - 0
xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/ScheduleTypeEnum.java

@@ -0,0 +1,25 @@
+package com.xxl.job.admin.core.scheduler;
+
+/**
+ * @author xuxueli 2020-10-29 21:11:23
+ */
+public enum ScheduleTypeEnum {
+
+    NONE,
+
+    /**
+     * schedule by cron
+     */
+    CRON,
+
+    /**
+     * schedule by fixed rate (in seconds)
+     */
+    FIX_RATE,
+
+    /**
+     * schedule by fix delay (in seconds), after the last time
+     */
+    FIX_DELAY;
+
+}