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分执行
|
|