Task Scheduling
Introduction
- The platform supports scheduled tasks and can regularly execute interface engines or custom-developed. net dll files
Stop all tasks
sql
-- 执行sql语句
update diy_schedule_job set Status='暂停';
update microi_job_triggers set TRIGGER_STATE='PAUSED';
-- 然后重启microi-api容器Delete Exception Task
sql
-- 假设任务名为:dnsSync
update from diy_schedule_job set IsDelete = 1 where JobName='dnsSync';
delete from microi_job_cron_triggers where TRIGGER_NAME = 'dnsSync';
delete from microi_job_triggers where JOB_NAME = 'dnsSync';
delete from microi_job_job_details where JOB_NAME = 'dnsSync';Automatically delete task duplicate result logs
js
// 比如说定时任务执行的是一个接口引擎,我们在接口引擎最后增加以下代码:
// 假设任务名为:dnsSync,我们只保留最近N条重复的相同结果日志
// 只保留定时任务每天最近几条数据相同数据
var saveCount = 10;
var taskName = 'dnsSync';
V8.Db.FromSql(`
DELETE FROM diy_schedule_job_log
WHERE Message = '${JSON.stringify(result)}'
AND JobName = '${taskName}'
-- 只删除当天的
AND CreateTime >= '${DateNow('yyyy-MM-dd')} 00:00:00'
AND Id NOT IN (
-- 选择创建时间最近的N条记录的ID
SELECT Id FROM (
SELECT Id
FROM diy_schedule_job_log
WHERE Message = '${JSON.stringify(result)}'
AND JobName = '${taskName}'
ORDER BY CreateTime DESC
LIMIT ${saveCount}
) AS keep_ids
);
`).ExecuteNonQuery();
return result;