有人知道为什么添加Micrometer依赖到Spring Cloud数据流任务导致任务pod永远不会完成吗?



我有3个完美工作的spring云数据流任务应用程序,可以执行和完成,但不会在Prometheus/Graphana中显示任何度量数据,我在构建中添加了以下Gradle依赖项。gradle文件…

  1. 实现"org.springframework.boot: spring-boot-starter-actuator">
  2. runtimeOnly组:'org.springframework. 'cloud',名称:'spring-cloud-dependencies',版本:'Hoxton. 'SR12', ext: 'pom'
  3. 实施组:' 0 .微米。prometheus', name: 'prometheus-rsocket-spring', version: '1.3.0'

在此之后,任务现在显示在Grafana任务仪表板中,但是…任务在kubernetes中永远不会完成,它们只是保持运行。

我试过添加spring.cloud.task。closecontextEnabled=true参数到任务启动器消息,但这似乎对pod没有任何影响。

我检查了那些任务舱的日志,没有什么有趣的。

是否有一种方法可以手动在代码中调用一些东西来结束pod,或者是否有另一种方法可以在不影响任务pod行为的情况下启用指标收集?

如有任何帮助,不胜感激。

谢谢,

新增spring.cloud.task。closecontextEnabled=应用程序的true。现在pod运行后显示完成。

spring: 
cloud:
task:
closecontextEnabled: true


另一个发现是,pod没有从running变为complete,确保所有打开的连接都关闭了。在我们的任务中有一个NATS消息传递连接,如果该连接没有正确关闭,pod将卡住运行并且永远不会完成。

最新更新