wlzboy
4 天以前 c098f1e3a3e052aa3d65584aae6dc003a70d75ad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
-- 车辆GPS分段里程计算定时任务配置
 
-- 1. 实时计算任务(每5分钟执行一次,计算最近10分钟的数据)
INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)
VALUES (
  'GPS分段里程实时计算',
  'DEFAULT',
  'vehicleGpsSegmentMileageTask.calculateRecentSegmentMileage(''10'')',
  '0 0/5 * * * ?',
  '2',
  '0',
  '1',
  'admin',
  NOW(),
  '每5分钟执行一次,计算最近10分钟内所有车辆的GPS分段里程。参数10表示计算最近10分钟的数据,可根据需要调整'
);
 
-- 2. 每小时汇总任务(每小时执行一次,计算最近1小时的数据)
INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)
VALUES (
  'GPS分段里程小时汇总',
  'DEFAULT',
  'vehicleGpsSegmentMileageTask.calculateRecentSegmentMileage(''60'')',
  '0 5 * * * ?',
  '2',
  '0',
  '1',
  'admin',
  NOW(),
  '每小时第5分钟执行,计算最近60分钟内所有车辆的GPS分段里程,用于补充遗漏的数据'
);
 
-- 3. 每日全天计算任务(每天凌晨执行,计算前一天的数据)
INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)
VALUES (
  'GPS分段里程每日汇总',
  'DEFAULT',
  'vehicleGpsSegmentMileageTask.calculateDateSegmentMileage(DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY), ''%Y-%m-%d''))',
  '0 10 1 * * ?',
  '2',
  '0',
  '1',
  'admin',
  NOW(),
  '每天凌晨1点10分执行,计算前一天所有车辆的GPS分段里程。使用DATE_FORMAT动态计算前一天的日期'
);
 
-- 注意事项说明
-- 1. 默认所有任务状态为'1'(暂停),需要在后台管理系统中手动启动
-- 2. 时间间隔配置在 sys_config 表中:gps.mileage.segment.minutes(默认5分钟)
-- 3. 计算方式配置在 sys_config 表中:gps.mileage.calculate.method(默认tianditu)
-- 4. 建议启动顺序:
--    - 先启动"GPS分段里程实时计算",观察运行情况
--    - 确认无误后,再启动"GPS分段里程小时汇总"作为补充
--    - 最后启动"GPS分段里程每日汇总"作为数据完整性保障
-- 5. cron表达式说明:
--    - '0 0/5 * * * ?' : 每5分钟执行一次
--    - '0 5 * * * ?' : 每小时第5分钟执行
--    - '0 10 1 * * ?' : 每天凌晨1点10分执行