问题标签 [spring-cloud-task]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
311 浏览

spring - 使用 Spring Cloud 部署器启动 Spring Cloud 任务

我有一个批处理应用程序,在 Spring 云任务中,它是一个短暂的微服务。有很多这样的批处理应用程序。现在,我可以抛出 Spring Cloud 部署程序及其任务启动器,在它的帮助下,我们可以启动 Spring Cloud 任务。

我发现的都是命令行。我想要一些可以使用 TaskLauncher 的 java 代码来执行 Pivotal cloud Foundry 上的任务。

有没有人这样做,或者我们甚至可以这样做?

0 投票
1 回答
436 浏览

spring-batch - spring cloud stream app starter File Source to Spring Batch Cloud Task

我有一个 spring 批处理启动应用程序,它以平面文件作为输入。我将应用程序转换为云任务并部署在 Spring 本地数据流服务器中。接下来,我创建了一个以 File Source -> tasklaunchrequest-transform -> task-launcher-local 开头的流,它启动了我的批处理云任务应用程序。

看起来该文件没有进入批处理应用程序。我在日志中没有看到任何表明这一点的东西。

我在https://github.com/spring-cloud-stream-app-starters/tasklaunchrequest-transform/tree/master/spring-cloud-starter-stream-processor-tasklaunchrequest-transform查看了文档

它说

任何输入类型。(有效载荷和报头被丢弃)

我的问题是如何将文件作为有效负载从文件源传递到批处理应用程序,这似乎是一个非常基本的功能。

很感谢任何形式的帮助。

0 投票
1 回答
198 浏览

spring - 使用 hsql db 的 Spring Cloud 任务 junit 测试用例失败

我有@EnableTask运行良好的弹簧启动应用程序。

我有一个使用 hsql 数据库作为测试用例一部分的测试用例失败并出现以下错误。

有人可以告诉我出了什么问题吗?我也试过 spring.cloud.task.close_context_enable=false 但没有运气。

0 投票
1 回答
6361 浏览

java - JobRestartException:JobInstance 已存在且不可重新启动

我正在将 Spring Batch 与 Spring 云任务一起使用。我的工作中有以下配置:

我不想在工作中重新启动功能,这就是我放.preventRestart(). 我想在每次任务运行时启动一个新作业,也就是说,即使上次作业失败或停止或任何其他情况,也要运行一个新的作业实例。但我收到以下错误:

这仅在作业未成功完成的情况下发生。关于解决方案的任何想法?

0 投票
1 回答
1313 浏览

java - Spring Cloud Task 参数不会传播到 Spring Batch 作业参数

我正在从普通的 Spring Batch 迁移到 Spring Cloud 任务,并通过 Spring Cloud 数据流执行 Spring Batch。我在我的工作和为文件注入部署的示例工作中都遇到了以下问题:

https://docs.spring.io/spring-cloud-dataflow-samples/docs/current/reference/htmlsingle/#_batch_file_ingest

我正在使用带有 postgres 后端的 spring-cloud-dataflow-server-local-1.4.0.RELEASE。我还修改了该示例以使用 postgres 数据库。

当我尝试使用不同的参数第二次运行任务时,就会出现问题。当我第一次运行它时:

以下是日志中的输出:

2018-03-22 10:10:51.446 INFO 10431 --- [main] osbabJobLauncherCommandLineRunner:运行默认命令行:[filePath=classpath:data.csv,--spring.cloud.task.closecontext_enable=false,--spring .cloud.task.executionid=13]

2018-03-22 10:10:51.497 INFO 10431 --- [main] osbclsupport.SimpleJobLauncher:作业:[FlowJob:[name=ingestJob]] 使用以下参数启动:[{filePath=classpath:data.csv,- spring.cloud.task.executionid=13,-spring.cloud.task.closecontext_enable=false,run.id=1}]

没关系,参数被传递给批处理作业。现在,当我尝试使用不同的任务参数运行相同的任务时:

我在日志中得到以下信息:

2018-03-22 10:12:18.249 INFO 10554 --- [main] osbabJobLauncherCommandLineRunner:运行默认命令行:[filePath=/home/hmcmanus/spring-cloud-dataflow-samples/batch/file-ingest/src/主/资源/data.csv,--spring.cloud.task.closecontext_enable=false,--spring.cloud.task.executionid=14]

2018-03-22 10:12:18.322 INFO 10554 --- [main] osbclsupport.SimpleJobLauncher:作业:[FlowJob:[name=ingestJob]] 使用以下参数启动:[{filePath=classpath:data.csv,- spring.cloud.task.executionid=13,run.id=1,-spring.cloud.task.closecontext_enable=false}]

正如您在第二个示例中看到的,任务的参数很好,但是批处理作业的参数是任务执行的旧参数。

有什么我在这里想念的吗?为什么spring批处理作业获取不到新任务执行的参数?

更新

为了排除数据库中的差异以及我需要进行的任何修改以使其运行,我还验证了与数据流服务器和任务的嵌入式 H2 数据库相同的功能。

0 投票
0 回答
811 浏览

spring-batch - 使用 Spring Cloud Task 的批处理作业退出状态

我正在尝试设置一个 Spring 批处理项目以部署在 Spring Cloud Data Flow 服务器上,但首先我必须将它“包装”在 Spring Cloud Task 应用程序上。Spring Batch 在表上生成元数据(开始/结束、状态、参数等)BATCH_。Cloud Task 做同样的事情,但在TASK_桌子上。

阅读Spring Cloud Task 的文档,它说为了将批处理信息传递给任务,必须设置它 spring.cloud.task.batch.failOnJobFailure=true并且还

要让您的任务根据批处理作业执行的结果返回退出代码,您需要编写自己的 CommandLineRunner。

那么,关于我应该如何编写自己的任何迹象CommandLineRunner

现在,只有设置了属性,如果我强制任务失败,我会得到Failed to execute CommandLineRunner .... Job UsersJob failed during execution for jobId 3 with jobExecutionId of 6

0 投票
0 回答
100 浏览

spring - Spring Cloud 任务“尝试获取锁时发现死锁”

我在设置 Spring Cloud 任务时遇到问题:

  • 它抛出“尝试获取锁定时发现死锁”异常。不知道代码有什么问题?
  • 限制每个处理器的并发任务数。
0 投票
2 回答
2593 浏览

java - 无法将 SQLServerDriver 强制转换为 DataSource

在我的 Spring Cloud Task 项目中,我使用的是 Spring Batch。我想将元数据(BATCH_TASK_表)从生产数据中分离出来,所以我配置了两个 DataSource,如下所示:

+

+

当我运行它时,我是Cannot cast com.microsoft.sqlserver.jdbc.SQLServerDriver to javax.sql.DataSourcetaskConfigurerbean 中获取的。我错过了什么吗?

使用 Spring Boot starter Batch2.0.0.RELEASE和 Cloud starter Task2.0.0.M3

0 投票
1 回答
1007 浏览

java - 使用 Spring Cloud Dataflow 为部署到 PCF 的所有任务设置 java 时区

我有一个 Spring Batch/Spring Cloud Task,我使用 Spring Cloud Dataflow 将其部署到 PCF。我正在尝试JAVA_OPTS:'-Duser.timezone=America/New_York'在 Dataflow 中的某处定义时区(),以便部署到它的任何任务继承时区。

到目前为止,我能够将其定义为 PCF 中 Dataflow 的用户提供的 env 变量,并且我看到 Dataflow 日志显示了正确的时区。但是,当我使用数据流部署我的任务时,任务日志中的时区仍保持默认的 UTC。

如此处所述:CloudFoundry Timezone,我可以直接在任务上以相同的方式定义它(作为用户提供的环境变量),然后任务采用正确的时区。但由于我有超过 30 个这样的任务,我需要一种在数据流级别定义它的方法,并让所有任务继承它。

我也尝试在任务定义级别定义它,但没有运气。

如何在数据流级别定义 -Duser.timezone 属性以供所有任务继承?或者,如果不可能,在哪里正确定义它?

谢谢。

0 投票
2 回答
1839 浏览

docker - 在 Spring Cloud Data Flow 服务器上部署 dockerized 应用程序

阅读文档,它说:

根据运行时,可以通过两种方式打包应用程序:

所以我制作了一个运行 hello-world python程序的 docker 镜像,并在本地 SCDF 服务器上注册了它。

但是当我尝试将它作为任务启动时,它失败了

Command failed org.springframework.cloud.dataflow.rest.client.DataFlowClientException: Exception trying to launch....resource = Docker Resource [docker:hello-world:latest]]

我需要另一个服务器环境吗?哪一个?问题是,是否可以使用 SCDF 来运行任何 dockerized 应用程序,或者它只支持 Spring Boot (java)?

PS:我的Dockerfile