1

こんにちは、私は Oracle Scheduler を初めて使用します。私の質問は - 単一のジョブの Schedule オブジェクトで繰り返し間隔とイベント条件の両方を指定できますか?

ジョブのスケジューリングにはこの要件があります。ジョブはスケジュールされた時間に実行する必要がありますが、特定のイベントが発生した場合にのみ実行する必要があります。

たとえば。

Job1 は、毎日午前 10 時に実行する必要がありますが、昨日の同じジョブがもう実行されていない場合に限ります。(これは、テーブル エントリに基づいて判断します。) したがって、イベントは、テーブル job_statuses の「ENDED」というセル エントリになります。

同じ仕事で両方の情報を提供できれば、より簡単になります。それ以外の場合は、時間に基づいてジョブをスケジュールします。以前のインスタンスがまだ実行中の場合は、イベントに基づいてジョブを再スケジュールします。しかし、これは不器用に見えます。

前もって感謝します。

マヤンク

4

2 に答える 2

1

プロシージャ自体の PL/SQL で条件をエンコードします。つまり、毎日午前 10 時に実行されますが、最初に行うことは、前のジョブが正常に終了したかどうかを確認することです。

于 2012-06-19T07:46:48.123 に答える
1

あなたができることは、3つのジョブを作成することです

  1. イベント_ジョブ
  2. REPEAT_JOB
  3. ACTUAL_WORK_JOB

EVENT_JOB と REPEAT_JOB は ACTUAL_WORK_JOB を開始するだけです。それがすでに実行されている場合、またはまだ実行されている場合は、それに応じて対応できるエラーが発生します。

于 2012-06-19T16:03:27.950 に答える