ExecutingTable和ScheduleTable的疑惑
来源:8-10 监听etcd中的强杀任务通知
拧壶冲
2021-02-17
老师,我觉得强杀的逻辑里面,是不是应该就使用scheduletable来强杀?而不是executingtable,不然还是schedule还是会按时调度下一个周期的执行。
我看到执行前,build 一个execute info,这个executingtable根据job name 当做key,存放每一个job对应的executeinfo(包括CancelFunc)
但是这个executingtable的维护时期在job执行前加入map,执行结束后从map中删除。这样的逻辑我感觉scheduler还是会cron表达式的时间周期调度这个job,而强杀的目标应该是终止这个cron job的执行吧?
kill是不是应该是终止当前的执行,并且从scheduletable中删除,不再执行这个cronjob?
写回答
1回答
-
小鱼儿老师
2021-06-30
代码里应该有2个动作,一方面是cancel正在执行的,一方面是delete掉schedule计划。
00
相似问题