踩坑Xxljob本地部署后调度一半成功一半失败原因分析及解决方案记录
缘由
入门学习和本地部署过程中,发现任务一半调度成功,一半调度失败,给我邮箱发爆了,为啥呢?查了半天资料都没解决
成功比例图:
实际操作时,发现单次手动执行一定成功,但是cron表达式定时调度就失败了,看了很多博文下面的评论都是这样的,但是没发现很好的解决方法
分析
看调度日志
cron调度成功图:
cron调度失败图:
看红框标出来的,什么!?调度机器居然是其他服务器
回想起:一开始部署-admin管理界面的时候,是在云服务器上部署的,然后由于云服务和本地网络不通,懒的去配置防火墙,于是放到本地了;
然后去:看了一下云服务器上的-admin,什么!?居然有调度日志
但是执行器所在服务上指定的admin地址只配置了本地的地址:
xxl.job.admin.addresses=http://192.168.0.102:9955/xxl-job-admin
最终,猜测:配置好了本地应用与云服务管理中心后,没有清理maven缓存,导致重新配置本地后,原本配置未失效,因此的请求被负载均衡到了一个本地-admin,一个云端-admin
然后:云端是ping不通的,请求发不到,也就出现了调度一半成功一半失败的现象
解决方案 云服务器停止-admin,kill进程本地项目停止,maven clean,重启
重新运行后,再启动执行器任务,全部成功,
成功图:
另附失败成功1:1图:
写在结尾
记录自己遇到的坑点,如果有帮助,可以的话顺手帮忙点个赞就更好啦~