CData Virtuality Server は、タスクを自動的に実行するためのメカニズムを提供します。この仕組みは、ジョブとスケジュールの2つで構成されています。ジョブは何をしなければならないかを選択し、スケジュールはそれをいつ、どのくらいの頻度で行うかを定義します。ジョブを実行するには、ジョブのスケジュールを作成して有効にします。スケジュールは特定のジョブに関連付けられており、複数のジョブに割り当てることはできません。また、Job Queue Handlerによって管理されるJob Queueを使用して、ジョブの実行を制御することもできます。

ジョブにはいろいろな種類があります:

スケジュールにも種類があります:

  • 一旦
  • インターバル
  • クーロン
  • 連鎖

ジョブには以下の実行ステータスがあります:

  • RUNNING
  • SUCCESS
  • FAILED
  • INTERRUPTED (ジョブの実行がキャンセルされるか、基礎となるクエリが強制終了されたときに設定されます)
  • FAILED_AUTORETRY (ジョブが失敗し、自動的に再試行するように設定されている場合に設定)
  • NOT_STARTED - 設定時
    • すべての基本スケジュールおよび/またはアトミック連鎖スケジュールのジョブがトリガーされますが、これらのジョブのいくつかは満足のいく結果で終了します。
    • ジョブがトリガーされましたが、無効になっています。
    • QUEUEDのジョブが無効な場合
    • ジョブがトリガーされましたが、並列での実行の限界に達しました。
  • QUEUED (ジョブがキューに入れられたときに設定)

すべてのジョブはSYSADMIN.ScheduleJobsテーブルに保存され、スケジュールはSYSADMIN.Schedule テーブルに保存されます。

ジョブのステータスは、以下のレベルでserver.logに記録されます:

Level

Statuses

ERROR

  • FAILED
  • FAILED_AUTORETRY
  • INTERRUPTED

WARNING

NOT STARTED

INFO

SUCCESS

Owner, runAs, and Permissions

ジョブとスケジュールには owner属性があります。ジョブはまた、 runAs属性を持っています。ジョブは、指定がない場合、現在のユーザをownerCALLERrunAsとして作成されます。 ownerが指定されていない場合、現在のユーザをownerとして、 スケジュールが作成されます。

ジョブには、SYSADMIN.SetPermissionsを使って設定できる Permission があります。Permissionの仕組みは以下のとおりです:

Permission

Description

READ

Allows users to see jobs

DELETE

Allows users to delete jobs

EXECUTE

Allows users to execute jobs. Allows users to create, edit and delete schedules for jobs. 

ALTER

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