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计划。

0
0

Go语言开发分布式任务调度 轻松搞定高性能Crontab

分布式系统设计+高并发细节处理,一次性让你“晋级”到位

1136 学习 · 177 问题

查看课程