调度中心通过K8S集群部署,业务容器自动注册到调度中心上。若此时业务发布,会销毁原容器,创建新容器。这时容器的IP就会变更,正好有任务触发就会导致失败,请问有什么方式可以解决?
p5cysglq1#
你是希望任务还是调度到那台实例上,还是希望失败的任务重新触发再次调度?
8i9zcol22#
嗯,我是希望能调度到那台新的实例上。不知有什么好的方案可以解决?
syqv5f0l3#
我可以理解为,调度失败后再次调度吗?
izkcnapc4#
因为任务调度的频率比较快,譬如一分钟一次。当原业务容器销毁时,调度中心上注册的还是老地址未及时变更,这时失败重试也还是失败的,所以就会发告警邮件。我门想要的是像容器滚动发布那样,不间断的。因为现在我们服务一发布,过会就会收到任务调度失败的告警,所以想看看有什么好的方案
myzjeezk5#
实例停止的时候,用一个钩子函数,去调用注册中心的注销可以吗?
com.xxl.job.core.biz.AdminBiz#registryRemove
pieyvz9o6#
好的,我试一下。多谢呢
whlutmcx7#
请问尝试上面的方法可以吗,我们也出现了一样的问题,但是调registryRemove的话需要获取Pod IP,就需要在服务里去配置k8s client,然后根据Pod name获取Pod IP,感觉这样实现不太好
yrwegjxp8#
我也存在这样的问题,目前有反馈吗
rkkpypqq9#
我也存在这样的问题,请问有什么最优的解决方案吗
9条答案
按热度按时间p5cysglq1#
你是希望任务还是调度到那台实例上,还是希望失败的任务重新触发再次调度?
8i9zcol22#
嗯,我是希望能调度到那台新的实例上。不知有什么好的方案可以解决?
syqv5f0l3#
我可以理解为,调度失败后再次调度吗?
izkcnapc4#
因为任务调度的频率比较快,譬如一分钟一次。当原业务容器销毁时,调度中心上注册的还是老地址未及时变更,这时失败重试也还是失败的,所以就会发告警邮件。我门想要的是像容器滚动发布那样,不间断的。因为现在我们服务一发布,过会就会收到任务调度失败的告警,所以想看看有什么好的方案
myzjeezk5#
实例停止的时候,用一个钩子函数,去调用注册中心的注销可以吗?
pieyvz9o6#
好的,我试一下。多谢呢
whlutmcx7#
好的,我试一下。多谢呢
请问尝试上面的方法可以吗,我们也出现了一样的问题,但是调registryRemove的话需要获取Pod IP,就需要在服务里去配置k8s client,然后根据Pod name获取Pod IP,感觉这样实现不太好
yrwegjxp8#
我也存在这样的问题,目前有反馈吗
rkkpypqq9#
我也存在这样的问题,请问有什么最优的解决方案吗