ジョブの順序付け
Oracle Unityでは、ジョブの順序を設定して、複数のジョブを順番に自動実行するようにスケジュールできます。これは、特定のシステム・タスクおよび検証タスクに依存するジョブを実行する前に、それらのタスクが完了していることを確認することで、データの管理をしやすくします。
ジョブ順序の例
次のようなビジネス目標があるとします。
- 組織の最新の顧客データをOracle Unityデータ・モデルにインポートする。
- インポートされたデータを処理および検証する。
- 重複除去、マージおよびプロモーション・ルールをすべて適用して、このデータを照合および統合する。
- 処理および検証されたデータを使用してセグメントをエクスポートする。
次の図は、これらすべての目標を満たすことができるジョブ順序を示しています。
順序内の各ジョブは、次のジョブが開始される前に正常に完了する必要があります。
- 取込みジョブにより、顧客データがインポートされます。
- データ・ウェアハウス・ジョブにより、インポートされたデータが処理および検証されます。
- ID解決パイプライン・ジョブにより、重複除去、マージおよびプロモーション・ルールの適用が完了します。
- キャンペーン・ジョブにより、セグメントがエクスポートされます。
このワークフローを作成する方法は、Oracle Unity Developerヘルプ・センターを参照してください。
ジョブ順序の管理
ジョブ順序を管理するには、次を実行します。
- ジョブの順序を開始、停止および再開します。
- 進行中または完了したジョブ順序の失敗を特定します。
- 失敗が原因でOracle Unityシステムによって停止されたジョブ順序を再開します。失敗が原因でシステムによって停止されたジョブ順序を再開しても、ジョブ順序の最初からは再開されません。ジョブ順序の停止時に実行中だったジョブから続行されます。
- 進行中のジョブ順序を手動で停止します。手動で停止したジョブ順序を再実行する場合は、ジョブ順序の最初から再開する必要があります。手動で停止した時点から再開することはできません。
- 作成されたすべてのジョブ順序の詳細を表示します。
- ジョブ順序を非アクティブに設定して、開始できないようにします。
ジョブ順序を管理する方法については、Oracle Unity Developerヘルプ・センターを参照してください。
Oracle Unityのジョブ・ダッシュボードでは、ジョブ順序内の個々のジョブのステータスおよび詳細(開始時間、終了時間、開始者)を表示できます。
ジョブ順序の条件
ジョブ順序を構成する場合、ジョブ・タイプgateを使用すればジョブ順序で条件を使用できます。
AND条件
and_gate条件を使用して、後続のジョブが実行される前に完了する必要がある複数のジョブを定義します。
たとえば、取込みジョブ1、取込みジョブ2および取込みジョブ3があるとします。データ・ウェアハウス・ジョブを実行する前に、3つすべてのジョブを正常に実行して完了する必要があります。
次の画像は、この例のワークフローを示しています。
OR条件
複数のジョブのうち少なくとも1つのジョブを後続のジョブが実行される前に完了する必要があることを定義する場合は、or_gate条件を使用します。
たとえば、取込みジョブ1、取込みジョブ2および取込みジョブ3があるとします。データ・ウェアハウス・ジョブを実行する前に、これらのいずれかを正常に完了する必要があります。
次の画像は、この例のワークフローを示しています。
Oracle Unity APIを使用してジョブ順序に条件を追加する方法については、Oracle Unity Developerヘルプ・センターを参照してください。
ジョブ順序のスケジューリング
ジョブ順序を作成および管理する場合、定期的なスケジュールや頻度で実行するように構成することもできます。必要に応じて、ジョブ順序のスケジュールを更新および削除できます。
ジョブ順序のスケジュールを表示する際には、次の情報を表示できます。
- 最後にジョブ順序を開始した時間。
- ジョブ順序の次回の開始がスケジュールされている時刻。
- ジョブ順序スケジュールのサマリー。
- ジョブ順序が実行される次の5回のスケジュール済時刻。
Oracle Unity APIを使用してジョブ順序にスケジュールを追加する方法については、Oracle Unity Developerヘルプ・センターを参照してください。
ジョブ順序の通知
ジョブ順序のステータスおよび進捗に関するEメール通知を受信するようにジョブ順序を構成できます。ジョブ順序内のジョブが完了すると、ジョブ完了のステータス(成功または失敗)が通知に示されます。
ジョブ順序で次に開始されるジョブの詳細
Eメール通知には、ジョブ順序で実行される後続のジョブまたは一連のジョブも示されます。
場合によっては、このフィールドが空白になることもあります。次の例を考えてみます。
例1
ジョブ1および2はand_gate条件で実行されるため、前の2つのジョブが完了するまでジョブ3は開始されません。
ジョブ1がジョブ2の前に完了した場合、ジョブ1の通知では、次に開始されるジョブの表示が空白になります。これは、ジョブ2が完了しておらず、ジョブ1では、ジョブ3を開始する前にジョブ2が完了する必要があるためです。
ジョブ2が完了すると、and_gate条件内のすべてのジョブ(ジョブ1およびジョブ2)が完了したため、次に開始されるジョブとしてジョブ3が表示されます。
例2
ジョブ1および2はor_gate条件で実行されるため、ジョブ1またはジョブ2のいずれかが完了するまでジョブ3は開始されません。
ジョブ1がジョブ2の前に完了した場合、or_gate条件が満たされた(ジョブ1が完了した)ため、ジョブ1の通知には、次に開始されるジョブとしてジョブ3が表示されます。
次に開始されるジョブとしてジョブ3がジョブ1の通知にすでに示されているため、ジョブ2が完了すると、次に開始されるジョブの通知は空白になります。
Eメール通知を構成する方法については、Oracle Unity Developerヘルプ・センターを参照してください。