labulakalia / crocodile

Distributed Task Scheduling System|分布式定时任务调度平台
MIT License
1.02k stars 167 forks source link

任务有多次重复执行风险 #66

Open zhouyg opened 3 years ago

zhouyg commented 3 years ago

Please Desc Your Question StartRun()中有加锁、执行任务、释放锁的操作。 如果运行多个调度节点,虽然有锁作为互斥,但也可能执行多次。 例如,调度节点a,获取锁后执行任务1(假如执行10ms),接着释放锁。 这时调度节点b也来获取任务1的锁(调度节点对任务1的群已经释放了),能获取到锁,所以又执行了任务1… 因此,任务短期内可能在多个调度节点上重复执行多次。 不知道我理解对吗?

zhouyg commented 3 years ago

这个项目不再维护了吗

labulakalia commented 3 years ago

@zhouyg 不会的 每次运行前会先检查任务的运行是否运行 如果在运行时不会再运行的