タスクリアクター SQL リファレンス¶
データベースオブジェクトとプロシージャ¶
次のデータベースオブジェクトは、ファイル task_reactor.sql
を通して作成されます。
TASK_REACTOR SCHEMA¶
コネクタ内のタスクリアクターの、データベースオブジェクトを含むバージョン管理されたスキーマ。
TASK_REACTOR_INSTANCES SCHEMA¶
コネクタ内のタスクリアクターの、インスタンスデータベースオブジェクトを含むバージョン管理されていないスキーマ。
TASK_REACTOR_INSTANCES.INSTANCE_REGISTRY¶
このテーブルは、アプリケーション実行中に既存のインスタンスを追跡および管理できるように、タスクリアクターインスタンスに関するデータを保存するために作成されます。テーブルは TASK_REACTOR_INSTANCES
スキーマに作成されます。
instance_name
VARCHAR
is_initialized
BOOLEAN
is_active
BOOLEAN
TASK_REACTOR.DISPATCHER(INSTANCE_SCHEMA_NAME VARCHAR)¶
このプロシージャは、Java DispatcherHandler.dispatchWorkItems
を呼び出し、ワークアイテムをディスパッチできるようにします。
TASK_REACTOR.SET_WORKERS_NUMBER (WORKERS_NUMBER NUMBER, INSTANCE_SCHEMA_NAME VARCHAR)¶
このプロシージャはJava SetWorkersNumberHandler.setWorkersNumber
を呼び出し、ワーカーの数を設定できるようにします。
TASK_REACTOR.CREATE_INSTANCE_OBJECTS¶
入力パラメーター:
INSTANCE_SCHEMA_NAME
VARCHAR
WORKER_PROCEDURE_NAME
VARCHAR
WORK_SELECTOR_TYPE
VARCHAR
WORK_SELECTOR_NAME
VARCHAR
EXPIRED_WORK_SELECTOR_NAME
VARCHAR
プロシージャでは、正確な Task reactor
フローに必要なすべてのインスタンスオブジェクトを作成し、まだ初期化されていないインスタンスオブジェクトを検証します。処理の最後に、新しいインスタンスレジストリの記録をテーブルに挿入します。
考えられるエラーは次のとおりです。
INSTANCE_NOT_FOUND
- この名前のインスタンスは存在しません。INSTANCE_ALREADY_INITIALIZED
- この名前のインスタンスはすでに初期化されています。DEFAULT_PROCEDURE_VALIDATION_EXCEPTION
- プロシージャが見つかりませんSCHEMA_WITH_THE_SAME_NAME_ALREADY_EXISTS
- 同じ名前のスキーマが既に存在します。CREATING_TR_INSTANCE_EXCEPTION
- タスクリアクターの新しいインスタンスの作成中に予期せぬ問題が発生しました。インスタンスは作成されていません。
TASK_REACTOR.INITIALIZE_INSTANCE¶
入力パラメーター:
INSTANCE_SCHEMA_NAME
VARCHAR
WAREHOUSE_NAME
VARCHAR
DT_SHOULD_BE_STARTED
BOOLEAN
DT_TASK_SCHEDULE
VARCHAR
DT_ALLOW_OVERLAPPING_EXECUTION
BOOLEAN
DT_USER_TASK_TIMEOUT_MS
VARCHAR
プロシージャは、同じデータベースインスタンス内のすべての初期化されていないインスタンスを起動します。これは、インスタンスが存在するかどうか、またはまだ初期化されていないかどうかをチェックし、ディスパッチャータスクを作成し、必要に応じてこのタスクを開始することから構成されます。
プロシージャは次のように正常に終了します。
{
"response_code": "OK",
"message": "Instance has been initialized successfully."
}
考えられるエラーは次のとおりです。
INSTANCE_NOT_FOUND
- インスタンスは存在しません。INSTANCE_ALREADY_INITIALIZED
- この名前のインスタンスはすでに初期化されています。
TASK_REACTOR.PAUSE_INSTANCE¶
入力パラメーター:
INSTANCE_SCHEMA
VARCHAR
プロシージャは、タスクリアクターの指定されたインスタンスを一時停止するプロセスを開始し、 OK の応答を返します。すべてのワーカータスクとディスパッチャータスクを非同期的に停止するジョブを開始します。ワーカータスクがすでにインジェスチョンを実行している場合、タスクはすぐには停止されませんが、インジェスチョンが完了した後にタスクは停止されます。
注釈
このプロシージャのロジックは、 一時停止コネクタ ですでに使用されているため、コネクタ全体を停止する作業の一部としてこのプロシージャを使用する必要はありません。
プロシージャは次のように正常に終了します。
{
"response_code": "OK"
}
TASK_REACTOR.RESUME_INSTANCE¶
入力パラメーター:
INSTANCE_SCHEMA
VARCHAR
プロシージャは、タスクリアクターの特定のインスタンスを再開するプロセスを開始し、 OK の応答を返します。ディスパッチャータスクを再開し、すでに作業が割り当てられているすべてのワーカータスクを非同期的に再開するジョブを開始します。
注釈
このプロシージャのロジックは、 再開コネクタ ですでに使用されているため、コネクタ全体を再開する作業の一部としてこのプロシージャを使用する必要はありません。
プロシージャは次のように正常に終了します。
{
"response_code": "OK"
}
TASK_REACTOR.UPDATE_WAREHOUSE_INSTANCE¶
入力パラメーター:
WAREHOUSE_NAME
VARCHAR
INSTANCE_SCHEMA
VARCHAR
プロシージャは、タスクリアクターの特定のインスタンスのウェアハウスを変更するプロセスを開始します。ディスパッチャータスクのウェアハウスを変更した後、すべてのワーカータスクのウェアハウスを非同期に変更するジョブを開始します。
注釈
このプロシージャのロジックは、 ウェアハウス更新 ですでに使用されているため、コネクタ全体のウェアハウスの更新作業の一部としてこのプロシージャを使用する必要はありません。
プロシージャは次のように正常に終了します。
{
"response_code": "OK"
}
考えられるエラーは次のとおりです。
INSTANCE_NOT_FOUND
- 指定されたインスタンスは存在しません。TASK_REACTOR_INSTANCE_IS_ACTIVE
- このプロシージャを使用する前に、指定されたタスクリアクターインスタンスが一時停止されていません。
内部プロシージャ¶
以下のプロシージャはすべて、 task_reactor
セットアップスクリプトの内部でのみ使用されるものであり、、外部では使用しないでください。
TASK_REACTOR.CREATE_INSTANCE_SCHEMA (INSTANCE_SCHEMA_NAME VARCHAR)¶
このプロシージャは、 instance_schema_name
という名前の識別子を持つ新しいスキーマを作成し、スキーマを作成できなかった場合は新しい例外をスローします。
考えられるエラーは次のとおりです。
SCHEMA_WITH_THE_SAME_NAME_ALREADY_EXISTS
- 同じ名前のスキーマが既に存在します。
TASK_REACTOR.VALIDATE_PROCEDURE_EXISTENCE¶
入力パラメーター:
PROCEDURE_NAME
VARCHAR
PROCEDURE_TYPE
VARCHAR
このプロシージャは、定義されたプロシージャが存在しないかどうかを検証し、新しい例外をスローします。
考えられるエラーは次のとおりです。
WORKER_PROCEDURE_NOT_FOUND_EXCEPTION
- ワーカープロシージャが見つかりません。WORK_SELECTOR_PROCEDURE_NOT_FOUND_EXCEPTION
- ワークセレクタープロシージャが見つかりません。DEFAULT_PROCEDURE_VALIDATION_EXCEPTION
- プロシージャが見つかりません
TASK_REACTOR.CREATE_QUEUE¶
入力パラメーター:
INSTANCE_SCHEMA_NAME
VARCHAR
TABLE_NAME
VARCHAR
STREAM_NAME
VARCHAR
Task Reactor
のヘルパーメソッドは、 instance_schema_name.table_name
という名前と次の列を持つキューテーブルを作成します。
ID
STRING
RESOURCE_ID
STRING
DISPATCHER_OPTIONS
VARIANT
WORKER_PAYLOAD
VARIANT
TIMESTAMP
DATETIME
存在しない場合は、 instance_schema_name.stream_name
という名前のストリームを作成します。
TASK_REACTOR.CREATE_WORKER_REGISTRY_SEQUENCE¶
入力パラメーター:
INSTANCE_SCHEMA_NAME
VARCHAR
SEQUENCE_NAME
VARCHAR
Task Reactor
のヘルパーメソッド。 instance_schema_name.sequence_name
シーケンス名を使用してワーカーレジストリのシーケンスを作成する機能を提供します。
TASK_REACTOR.CREATE_WORKER_REGISTRY¶
入力パラメーター:
INSTANCE_SCHEMA_NAME
VARCHAR
TABLE_NAME
VARCHAR
SEQUENCE_NAME
VARCHAR
ワーカーレジストリの作成を提供する Task Reactor
のヘルパーメソッドは、 instance_schema_name.table_name
という名前のテーブルと列で構成されます。
デフォルトの
instance_schema_name.sequence_name
シーケンスを使用したWORKER_ID NUMBER
CREATED_AT
DATETIME
UPDATED_AT
DATETIME
STATUS
STRING
TASK_REACTOR.CREATE_WORKER_STATUS_TABLE¶
入力パラメーター:
INSTANCE_SCHEMA_NAME
VARCHAR
TABLE_NAME
VARCHAR
Task Reactor
のヘルパーメソッド。名前 instance_schema_name.table_name
と列を使用したワーカーのステータステーブルの作成を提供します。
WORKER_ID
NUMBER
TIMESTAMP
DATETIME
STATUS
STRING
TASK_REACTOR.CREATE_CONFIG_TABLE¶
入力パラメーター:
INSTANCE_SCHEMA_NAME
VARCHAR
TABLE_NAME
VARCHAR
WORKER_PROCEDURE_NAME
VARCHAR
WORK_SELECTOR_TYPE
VARCHAR
WORK_SELECTOR_NAME
VARCHAR
EXPIRED_WORK_SELECTOR_NAME
VARCHAR
IS_INSTANCE_REGISTERED
BOOLEAN
Task Reactor
のヘルパーメソッド。キーと値の列を持つ instance_schema_name.table_name
という名前の構成テーブルを作成することを提案します。次に、次の値でまだ登録されていない場合は、構成データをテーブルに挿入します。
WORKER_PROCEDURE
WORK_SELECTOR_TYPE
WORK_SELECTOR
SCHEMA