简介
Task Applications 的生命周期很短,这意味着它会自定停止运行,可以按需执行或计划执行。实际使用中,可能是抓取web页面数据并写入数据库。 Spring Cloud Task 框架基于 Spring Boot,可以记录Applications 的结束退出状态以及 生命周期中的事件管理,比如它何时启动、何时结束以及退出。TaskExecution 文档描述了哪些信息会存储在数据库中。Spring Cloud Task Applications 中代码执行的入口点通常是Boot的CommandLineRunner 接口的实现,如 example 所示。
对于编写生命周期短的 Applications 的Spring开发人员来说,可能会想到使用 Spring Batch 项目。Spring Batch提供了比Spring Cloud Task更丰富的功能,在处理大数据时推荐使用它。用例可能是读取许多CSV文件,转换每行数据,并将每个转换后的行数据写入数据库。Spring Batch 提供了自己的数据库模式,其中 Spring Batch 的数据库中涵盖了详细的作业执行的 set of information。Spring Cloud Task 与 Spring Batch 集成,这样,如果Spring Cloud Task Applications 定义了Spring Batch Job
,就会创建Spring Cloud Task和Spring Cloud Batch 执行表中的关联。
在本地计算机上运行 Data Flow 时,Tasks 将在单独的JVM中启动。在Cloud Foundry上运行时,使用 Cloud Foundry’s Task 功能启动,在Kubernetes上运行时,使用Pod
或Job
资源启动任务。
Last updated