首页 > 解决方案 > 如何在 Spring Cloud Data Flow 中为 Spring Batch 作业设置调度程序?

问题描述

我正在设置一个新的 Spring Batch Jobs 并希望使用SCDF. 但是,我发现SCDFscheduler支持local framework.

我有3个问题要问你:

  1. 有人可以解释如何scheduler工作SCDF吗?

  2. 有什么方法可以安排 1 份工作使用SCDF吗?

  3. 我可以将本地服务器用作 Cloud Foundry 吗?如何?

标签: spring-batchspring-cloud-dataflow

解决方案


是的,Spring Cloud Data Flow 不支持local平台调度。请注意,localSCDF 服务器仅用于开发目的,根据设计,调度支持旨在依赖于平台。因此,使用 CF 和 K8s 调度程序在 Cloud Foundry 和 Kubernetes 上支持 SCDF 调度功能。

1) s/o 能解释一下 SCDF 的调度器是如何工作的吗?

当然,类似于deployer用于启动任务/部署流的方式,有一个SPI用于调度spring-cloud-deployer项目下的任务。底层调度器实现可以实现这一点。目前,我们在spring-cloud-deployer-cloudfoundryspring-cloud-deployer-kubernetes中有 CF 和 K8s 调度器实现。

作为用户,您可以为任务(批处理)应用程序(通过 SCDF Dashboard、shell 等)配置调度程序。您可以指定一个 cron 表达式来安排任务。配置完成后,SCDF 使用上述调度程序实现将调度请求委托给平台调度程序。一旦被调度,它就是平台(CF 上的 PCF 调度器,K8s 上的 K8s 调度器)使用调度来处理任务。

2) 有没有办法使用 SCDF 安排 1 个作业?

是的,根据1的答案

3) 我可以将我的本地服务器用作云 Foundry 吗?如何?

要在指向 CF 实例的本地运行 SCDF,您可以设置必要的 CF 部署程序属性并启动 SCDF 服务器实例。它类似于您在 SCDF 服务器中配置多平台的方式。您可以在此处找到更多相关文档。


推荐阅读