CData Virtuality Server は、タスクを自動的に実行するためのメカニズムを提供します。この仕組みは、ジョブとスケジュールの2つで構成されています。ジョブは何をしなければならないかを選択し、スケジュールはそれをいつ、どのくらいの頻度で行うかを定義します。ジョブを実行するには、ジョブのスケジュールを作成して有効にします。スケジュールは特定のジョブに関連付けられており、複数のジョブに割り当てることはできません。また、Job Queue Handlerによって管理されるJob Queueを使用して、ジョブの実行を制御することもできます。
ジョブにはいろいろな種類があります:
- Optimization Jobs
- SQLジョブ
- 統計ジョブ
- システムジョブ
スケジュールにも種類があります:
- 一旦
- インターバル
- クーロン
- 連鎖
ジョブには以下の実行ステータスがあります:
RUNNING
SUCCESS
FAILED
INTERRUPTED
(ジョブの実行がキャンセルされるか、基礎となるクエリが強制終了されたときに設定されます)FAILED_AUTORETRY
(ジョブが失敗し、自動的に再試行するように設定されている場合に設定)NOT_STARTED
- 設定時- すべての基本スケジュールおよび/またはアトミック連鎖スケジュールのジョブがトリガーされますが、これらのジョブのいくつかは満足のいく結果で終了します。
- ジョブがトリガーされましたが、無効になっています。
QUEUED
のジョブが無効な場合- ジョブがトリガーされましたが、並列での実行の限界に達しました。
QUEUED
(ジョブがキューに入れられたときに設定)
すべてのジョブはSYSADMIN.ScheduleJobs
テーブルに保存され、スケジュールはSYSADMIN.Schedule
テーブルに保存されます。
ジョブのステータスは、以下のレベルでserver.log
に記録されます:
Level | Statuses |
---|---|
|
|
|
|
|
|
Owner, runAs, and Permissions
ジョブとスケジュールには owner
属性があります。ジョブはまた、 runAs
属性を持っています。ジョブは、指定がない場合、現在のユーザをowner
、CALLER
、runAs
として作成されます。 owner
が指定されていない場合、現在のユーザをowner
として、 スケジュールが作成されます。
ジョブには、SYSADMIN.SetPermissions
を使って設定できる Permission があります。Permissionの仕組みは以下のとおりです:
Permission | Description |
---|---|
| Allows users to see jobs |
| Allows users to delete jobs |
| Allows users to execute jobs. Allows users to create, edit and delete schedules for jobs. |
| Allows users to change jobs |
ユーザーがジョブを実行するには、 SYSADMIN.createSchedule
, SYSADMIN.enableSchedule
の手順に対して、 E
のパーミッションが必要です。
ジョブを変更するためには、Userは以下のものが必要です:
-
A
ジョブの Permission です; -
E
以下のプロシージャのPermission です:SYSADMIN.changeSQLJob, SYSADMIN.changeJobParameters
.
ジョブとスケジュールの owner
変更は管理者のみが行うことができ、ジョブの runAs.
変更はオーナーと管理者のみが行うことができます。
詳しくは Owner and Runner (Executor) of Jobs and Proceduresをご覧ください。
owner
, runAs
, and permissions for jobs are available since v4.1