-- 旧系统转运单同步定时任务配置SQL
|
-- 在sys_job表中添加定时任务
|
|
-- 转运单自动同步(从旧系统到新系统)
|
INSERT INTO sys_job (job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, remark)
|
VALUES
|
('旧系统转运单同步', 'DEFAULT', 'legacyTransferSyncTask.syncTransferOrders7Days', '0 0 2 * * ?', '3', '1', '0', 'admin', sysdate(),
|
'每天凌晨2点自动同步7天前的旧系统转运单数据。');
|
|
-- 说明:
|
-- job_name: 任务名称 - 旧系统转运单同步
|
-- job_group: 任务组名(DEFAULT为默认组)
|
-- invoke_target: 调用目标字符串(Bean名称.方法名)
|
-- - legacyTransferSyncTask.syncTransferOrders7Days() 同步7天前的转运单数据
|
-- - legacyTransferSyncTask.syncTransferOrders('7') 也可以使用带参数的方法
|
-- cron_expression: cron表达式
|
-- - '0 0 2 * * ?' = 每天凌晨2点执行
|
-- - '0 0 2 * * ?' = 每天凌晨2点执行
|
-- - '0 0 3 * * ?' = 每天凌晨3点执行
|
-- - '0 0 2 1 * ?' = 每月1日凌晨2点执行
|
-- misfire_policy: 错过执行策略
|
-- - 1=立即执行
|
-- - 2=执行一次
|
-- - 3=放弃执行(推荐)
|
-- concurrent: 是否并发
|
-- - 0=允许并发
|
-- - 1=禁止并发(推荐,避免重复同步)
|
-- status: 状态
|
-- - 0=正常(启用)
|
-- - 1=暂停(停用)
|
-- create_by: 创建者
|
-- create_time: 创建时间
|
-- remark: 备注说明
|
|
-- 同步逻辑:
|
-- 1. 每天凌晨自动执行同步任务
|
-- 2. 查询7天前的转运单数据
|
-- 3. 检查是否已同步过
|
-- 4. 未同步的转运单数据创建新任务
|
-- 5. 记录同步日志
|
|
-- 监控查询:
|
-- 查看今日转运单同步统计:
|
SELECT
|
COUNT(*) AS total_sync_count,
|
SUM(CASE WHEN task_type = 'EMERGENCY_TRANSFER' THEN 1 ELSE 0 END) AS emergency_transfer_count
|
FROM sys_task
|
WHERE DATE(create_time) = CURDATE()
|
AND task_description LIKE '%从旧系统同步的转运单%';
|
|
-- 查看同步失败的任务:
|
SELECT
|
task_id,
|
task_code,
|
task_description,
|
create_time
|
FROM sys_task
|
WHERE task_description LIKE '%从旧系统同步的转运单%'
|
AND task_status = 'ERROR'
|
ORDER BY create_time DESC;
|
|
-- 查看最近同步的任务:
|
SELECT
|
t.task_id,
|
t.task_code,
|
t.task_description,
|
t.create_time,
|
e.legacy_service_ord_id,
|
e.legacy_dispatch_ord_id
|
FROM sys_task t
|
LEFT JOIN sys_task_emergency e ON t.task_id = e.task_id
|
WHERE t.task_description LIKE '%从旧系统同步的转运单%'
|
ORDER BY t.create_time DESC
|
LIMIT 20;
|
|
-- 使用建议:
|
-- 1. 建议在业务低峰期执行同步任务(如凌晨2点)
|
-- 2. 可根据实际需求调整同步天数(如改为3天或14天)
|
-- 3. 定期检查同步失败的任务并处理
|
-- 4. 可通过修改 status=1 临时禁用同步任务
|
|
-- 错误处理:
|
-- 1. 如果同步失败,检查:
|
-- - SQL Server连接是否正常
|
-- - 数据格式是否正确
|
-- - 新系统字段是否匹配
|
-- 2. 可通过定时任务日志查看详细错误:
|
-- 系统监控 -> 定时任务 -> 调度日志
|