【问题标题】:Can Spring Cloud Task's Partitioned Job be executed in Spring Cloud Data Flow?Spring Cloud Task 的 Partitioned Job 可以在 Spring Cloud Data Flow 中执行吗?
【发布时间】:2017-04-04 19:22:41
【问题描述】:

我正在尝试在 Spring Cloud Data Flow Server 中设置和执行分区批处理作业 (https://github.com/spring-cloud/spring-cloud-task/tree/master/spring-cloud-task-samples/partitioned-batch-job) 的 Spring Cloud 任务示例。

但由于某种原因,分区作业任务出现错误:

此作业的作业执行已在运行:JobInstance: id=2, version=0, Job=[partitionedJob]

分区作业是否与 Spring Cloud Dataflow 服务器不兼容?

【问题讨论】:

    标签: spring-cloud-dataflow spring-cloud-task


    【解决方案1】:

    是的,示例分区批处理作业与 Spring Cloud Data Flow 服务器兼容并且开箱即用,只要:

    • 数据源是 H2 或 Mysql。
    • 而您正在使用 Spring Cloud Data Flow Server Local

    但是如果不知道您使用的是哪个数据流服务器和数据库,就很难诊断问题。还有例外吗?

    【讨论】:

    • 我已经尝试过 Spring Cloud Task 1.0.3.RELEASE 版本并尝试将其部署在 Spring Cloud DataFlow Local Server 1.0.1.RELEASE 中。分区作业的日志中的异常是: 原因:org.springframework.batch.core.repository.JobExecutionAlreadyRunningException:此作业的作业执行已在运行:JobInstance:id=4,version=0,Job=[partitionedJob ]
    • 感谢您提供版本。在这种情况下,该作业第一次运行时似乎没有完成(可能被 ctrl-c 杀死)。这可以通过使用 Spring Cloud Data Flow 的 UI 并查看 Job 选项卡下的 Job Executions 并看到第一个作业仍然具有已启动状态来确认。要解决此问题,您可以执行以下两项操作之一:*
    • * 截断或删除 repo 中的批处理表。或者只是删除那些作业条目 * 将作业名称从 partitionedJob 更改为其他名称。可以在这里找到:github.com/spring-cloud/spring-cloud-task/blob/1.0.3.RELEASE/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    相关资源
    最近更新 更多