【发布时间】:2020-07-08 12:21:55
【问题描述】:
我们有 Spring Cloud Data Flow 本地设置,任务正在运行 Spring Batch 作业,该作业从数据库读取并写入 AWS S3,所有这些工作正常。
- 在停止 JOB 时,任务停止但无法恢复作业,因为状态为“STARTED”,我认为我们可以在代码中处理,方法是将批处理状态设置为“STOPPED”,当触发了停止,如果无法处理,请纠正我?
-
当尝试停止单个从属任务时,也会出现错误:
2020-03-27 10:48:48.140 信息 11258 --- [nio-9393-exec-7] .s.c.d.s.s.i.DefaultTaskExecutionService : 任务执行停止请求 id 192 for platform default 已提交 2020-03-27 10:48:48.144 错误 11258 --- [nio-9393-exec-7] o.s.c.d.s.c.RestControllerAdvice : 捕获异常同时 处理请求
java.lang.NullPointerException: null at org.springframework.cloud.dataflow.server.service.impl.DefaultTaskExecutionService.cancelTaskExecution(DefaultTaskExecutionService.java:669) ~[spring-cloud-dataflow-server-core-2.3.0.RELEASE.jar!/:2.3.0.RELEASE] 在 org.springframework.cloud.dataflow.server.service.impl.DefaultTaskExecutionService.lambda$stopTaskExecution$0(DefaultTaskExecutionService.java:583) ~[spring-cloud-dataflow-server-core-2.3.0.RELEASE.jar!/:2.3.0.RELEASE]
我们如何在分布式环境中实现这一点,我们有一个主服务器,可以在主服务器上启动主服务器并在相应的从服务器上启动工作人员?
【问题讨论】:
标签: spring spring-batch spring-cloud spring-cloud-dataflow spring-cloud-task