任務倉庫 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 的值。