CData Virtuality Server は、タスクを自動的に実行するためのメカニズムを提供します。この仕組みは、ジョブとスケジュールの2つで構成されています。ジョブは何をしなければならないかを選択し、スケジュールはそれをいつ、どのくらいの頻度で行うかを定義します。ジョブを実行するには、ジョブのスケジュールを作成して有効にします。スケジュールは特定のジョブに関連付けられており、複数のジョブに割り当てることはできません。また、Job Queue Handlerによって管理されるJob Queueを使用して、ジョブの実行を制御することもできます。
ジョブにはいろいろな種類があります:
- Optimization Jobs
- SQLジョブ
- 統計ジョブ
- システムジョブ
スケジュールにも種類があります:
- 一旦
- インターバル
- クーロン
- 連鎖
ジョブには以下の実行ステータスがあります:
RUNNINGSUCCESSFAILEDINTERRUPTED(ジョブの実行がキャンセルされるか、基礎となるクエリが強制終了されたときに設定されます)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をご覧ください。