xxl-job是一个开源的分布式任务调度中心,基于quartz的集群模式而设计;
前几天发现任务调度失效,具体就体现在特定的时间点不进行调度,通过查看日志发现异常:
This scheduler instance instance_name is still active but was recovered by another instance in the cluster. This may cause inconsistent behavior.
可以看出的是由于某种原因调度器被恢复掉了,而且是被集群里面的另外一台机器,但是我们环境就一台机器,然后在数据库中发现了另外一台机器,由于是开发环境,所以是允许连接的,那么为什么会被恢复掉了,继续看代码,发现这样一段:


大致是检测其他节点的上一次检测时间是否超过阈值(默认为两台机器的时间是一致的),如果是那么认为是不可用的节点, 所以时间差的问题就清楚了是因为开发同学本地和服务器时间的时间差引起的,最后关掉开发同学机器的实例 或者 同步两台机器的时间解决这个问题.