最新の安定バージョンについては、spring-cloud-task 3.3.0 を使用してください。

タスクリポジトリスキーマ

この付録では、タスクリポジトリで使用されるデータベーススキーマの ERD を提供します。

task schema

テーブル情報

TASK_EXECUTION

タスクの実行情報を格納します。

列名 必須 タイプ フィールド長 ノート

TASK_EXECUTION_ID

TRUE

BIGINT

Spring Cloud Task フレームワークは、アプリの起動時に、TASK_SEQ から取得した次に使用可能な ID を確立します。または、レコードがタスクの外部で作成される場合は、レコードの作成時に値を入力する必要があります。

START_TIME

FALSE

DATETIME(6)

アプリ起動時の Spring Cloud Task フレームワークによって値が設定されます。

END_TIME

FALSE

DATETIME(6)

アプリ終了時の Spring Cloud Task フレームワークによって値が確立されます。

TASK_NAME

FALSE

VARCHAR

100

ユーザーが spring.application.name を使用して名前を確立しない限り、アプリ起動時の Spring Cloud Task フレームワークはこれを「アプリケーション」に設定します。

EXIT_CODE

FALSE

INTEGER

ここで説明するようにユーザーがオーバーライドしない限り、Spring Boot のデフォルトに従います。

EXIT_MESSAGE

FALSE

VARCHAR

2500

ここで説明したユーザー定義。

ERROR_MESSAGE

FALSE

VARCHAR

2500

アプリ終了時の Spring Cloud Task フレームワークによって値が確立されます。

LAST_UPDATED

TRUE

TIMESTAMP

アプリ起動時の Spring Cloud Task フレームワークによって値が設定されます。または、レコードがタスクの外部で作成される場合は、レコードの作成時に値を入力する必要があります。

EXTERNAL_EXECUTION_ID

FALSE

VARCHAR

250

spring.cloud.task.external-execution-id プロパティが設定されている場合、アプリの起動時に Spring Cloud Task フレームワークによってこれが指定された値に設定されます。詳細については、こちらを参照してください

PARENT_TASK_EXECUTION_ID

FALSE

BIGINT

spring.cloud.task.parent-execution-id プロパティが設定されている場合、アプリの起動時に Spring Cloud Task フレームワークによってこれが指定された値に設定されます。詳細については、こちらを参照してください

TASK_EXECUTION_PARAMS

タスクの実行に使用されるパラメーターを保存します

列名 必須 タイプ フィールド長

TASK_EXECUTION_ID

TRUE

BIGINT

TASK_PARAM

FALSE

VARCHAR

2500

TASK_TASK_BATCH

タスクの実行をバッチの実行にリンクするために使用されます。

列名 必須 タイプ フィールド長

TASK_EXECUTION_ID

TRUE

BIGINT

JOB_EXECUTION_ID

TRUE

BIGINT

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

エントリが作成された日付

各データベース型のテーブルを設定するための 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 よりも高い値に設定します。