任务仓库模式

本附录提供了任务存储库中使用的数据库模式的 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 的值。