任務儲存庫結構描述

本附錄提供任務儲存庫中使用之資料庫結構描述的 ERD。

task schema

表格資訊

TASK_EXECUTION

儲存任務執行資訊。

欄位名稱 必要 類型 欄位長度 註解

TASK_EXECUTION_ID

TRUE

BIGINT

X

Spring Cloud Task Framework 在應用程式啟動時建立從 TASK_SEQ 取得的下一個可用 ID。或者,如果記錄是在任務外部建立的,則必須在記錄建立時填入該值。

START_TIME

FALSE

DATETIME(6)

X

Spring Cloud Task Framework 在應用程式啟動時建立此值。

END_TIME

FALSE

DATETIME(6)

X

Spring Cloud Task Framework 在應用程式結束時建立此值。

TASK_NAME

FALSE

VARCHAR

100

除非使用者使用 spring.application.name 建立名稱,否則 Spring Cloud Task Framework 在應用程式啟動時會將此設定為 "Application"。

EXIT_CODE

FALSE

INTEGER

X

遵循 Spring Boot 預設值,除非使用者覆寫,如此處所述。

EXIT_MESSAGE

FALSE

VARCHAR

2500

使用者定義,如此處所述。

ERROR_MESSAGE

FALSE

VARCHAR

2500

Spring Cloud Task Framework 在應用程式結束時建立此值。

LAST_UPDATED

TRUE

TIMESTAMP

X

Spring Cloud Task Framework 在應用程式啟動時建立此值。或者,如果記錄是在任務外部建立的,則必須在記錄建立時填入該值。

EXTERNAL_EXECUTION_ID

FALSE

VARCHAR

250

如果設定了 spring.cloud.task.external-execution-id 屬性,則 Spring Cloud Task Framework 在應用程式啟動時會將此設定為指定的值。更多資訊請參閱此處

PARENT_TASK_EXECUTION_ID

FALSE

BIGINT

X

如果設定了 spring.cloud.task.parent-execution-id 屬性,則 Spring Cloud Task Framework 在應用程式啟動時會將此設定為指定的值。更多資訊請參閱此處

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 的值。