任务仓库 Schema

本附录提供了任务仓库所使用的数据库 Schema 的 ERD。

task schema

表信息

TASK_EXECUTION

存储任务执行信息。

列名 必需 类型 字段长度 备注

TASK_EXECUTION_ID

TRUE

BIGINT

X

Spring Cloud Task 框架在应用程序启动时,会根据 TASK_SEQ 获取下一个可用的 ID。如果在任务外部创建记录,则该值必须在记录创建时填充。

START_TIME

FALSE

DATETIME(6)

X

Spring Cloud Task 框架在应用程序启动时设置该值。

END_TIME

FALSE

DATETIME(6)

X

Spring Cloud Task 框架在应用程序退出时设置该值。

TASK_NAME

FALSE

VARCHAR

100

除非用户使用 spring.application.name 建立名称,否则 Spring Cloud Task 框架在应用程序启动时会将其设置为 "Application"。

EXIT_CODE

FALSE

INTEGER

X

遵循 Spring Boot 默认值,除非用户覆盖,具体请参阅此处

EXIT_MESSAGE

FALSE

VARCHAR

2500

用户定义,具体请参阅此处

ERROR_MESSAGE

FALSE

VARCHAR

2500

Spring Cloud Task 框架在应用程序退出时设置该值。

LAST_UPDATED

TRUE

TIMESTAMP

X

Spring Cloud Task 框架在应用程序启动时设置该值。如果在任务外部创建记录,则该值必须在记录创建时填充。

EXTERNAL_EXECUTION_ID

FALSE

VARCHAR

250

如果设置了 spring.cloud.task.external-execution-id 属性,则 Spring Cloud Task 框架在应用程序启动时会将其设置为指定的值。更多信息请参阅此处

PARENT_TASK_EXECUTION_ID

FALSE

BIGINT

X

如果设置了 spring.cloud.task.parent-execution-id 属性,则 Spring Cloud Task 框架在应用程序启动时会将其设置为指定的值。更多信息请参阅此处

TASK_EXECUTION_PARAMS

存储任务执行所使用的参数

列名 必需 类型 字段长度

TASK_EXECUTION_ID

TRUE

BIGINT

X

TASK_PARAM

FALSE

VARCHAR

2500

TASK_TASK_BATCH

用于将任务执行与批处理执行关联起来。

列名 必需 类型 字段长度

TASK_EXECUTION_ID

TRUE

BIGINT

X

JOB_EXECUTION_ID

TRUE

BIGINT

X

TASK_LOCK

用于 single-instance-enabled 特性,具体请参阅此处

列名 必需 类型 字段长度 备注

LOCK_KEY

TRUE

CHAR

36

此锁的 UUID

REGION

TRUE

VARCHAR

100

用户可以使用此字段建立一组锁。

CLIENT_ID

TRUE

CHAR

36

包含要锁定应用程序名称的任务执行 ID。

CREATED_DATE

TRUE

DATETIME

X

条目创建日期

为每种数据库类型设置表的 DDL 可在此处找到。

SQL Server

默认情况下,Spring Cloud Task 使用一个序列表来确定 TASK_EXECUTION 表的 TASK_EXECUTION_ID。然而,在使用 SQL Server 同时启动多个任务时,这可能导致 TASK_SEQ 表发生死锁。解决方案是删除 TASK_EXECUTION_SEQ 表并使用相同的名称创建一个序列。例如

DROP TABLE TASK_SEQ;

CREATE SEQUENCE [DBO].[TASK_SEQ] AS BIGINT
 START WITH 1
 INCREMENT BY 1;
START WITH 设置为高于当前执行 ID 的值。