この節では、ワークフローの実行を監視する方法について説明します。
この節では、一連のワークフローの状態(一時停止、停止、エラーあり)を監視できるワークフローの作成方法に関する使用例も示します。
さらに、インスタンスの管理者は、監査記録を使用して、アクティビティ、ワークフローに最後に加えられた変更およびワークフローの状態を確認できます。詳しくは、Campaign Classic v7 実稼働ガイドを参照してください。
様々なキャンペーンプロセスを監視するその他の方法については、Campaign Classic v7 実稼動ガイドを参照してください。
ツールバーの各アイコンを使用して、進行情報を表示し、実行を監視することができます。
「進行情報を表示」アイコンを使用して、ステータスとアクティビティの結果を実行画面に表示できます。
このオプションを選択した場合、実行したアクティビティは青で、保留中のアクティビティは点滅表示で、警告はオレンジで、エラーは赤色で表示されます。また、アウトバウンドトランジションのアクティビティの結果を表示し、1 秒を超えた場合に、アクティビティのプロパティで定義された結果ラベルと、ジョブの期間をその後に表示します。
ログには、ワークフローの履歴または監査証跡が含まれます。ログには、すべてのユーザーアクション、実行されたすべての操作、および発生したすべてのエラーが記録されます。次の操作をおこなうことができます。
詳細で、「トラッキング」タブを選択します。このリストには、すべてのワークフローメッセージが含まれます。
アクティビティごとにログメッセージをフィルターします。ダイアグラムの上にあるツールバーから「タスクとログを表示」をクリックし、ダイアグラムの下に「ログ」と「タスク」のタブを表示します。アクティビティを選択すると、そのアクティビティに関するメッセージだけが表示されます。アクティビティが何も選択されていない場合、すべてのメッセージが表示されます。
ダイアグラムの背景をクリックすると、すべての要素の選択を解除できます。
指定されたタスクにリンクされているメッセージのみを表示します。それには、「タスク」タブを選択し、ダイアグラムからアクティビティを選択してリストを制限します。タスクをダブルクリックして情報を表示します。ウィンドウの最後のタブには、ログが表示されます。
「詳細…」ボタンをクリックすると、アクティビティの実行に関するすべての関連情報を表示できます。例えば、検証オペレーターを表示できます。また、該当する場合、下の例のように、承認中に入力したコメントを表示できます。
このログは、ワークフローが再起動した場合にパージされません。すべてのメッセージは保存されます。以前の実行のメッセージを破棄したい場合、履歴をパージする必要があります。
ログに、ターゲティングワークフローのアクティビティに関連する実行メッセージのリストが時系列で表示されます。
ターゲティングキャンペーンのログ
ターゲティングキャンペーンが実行されたら、「トラッキング」タブをクリックして実行トレースを表示します。
実行されたキャンペーン、警告やエラーなど、すべてのキャンペーンメッセージが表示されます。
アクティビティのログ
さらに、実行ログと、各アクティビティの詳細も表示できます。それには、次の 2 つの方法があります。
ターゲット済みアクティビティを選択し、「タスクとログを表示」アイコンをクリックします。
ダイアログの下部セクションに、「ログ」と「タスク」の 2 つのタブが表示されます。
ダイアグラム内で選択済みのアクティビティは、ログとタスクのリストに対するフィルターとして機能します。
ターゲット済みのアクティビティを右クリックし、「ログを表示」を選択します。
ログは別のウィンドウに表示されます。
ワークフローの履歴は自動でパージされません。すべてのメッセージは、デフォルトで保持されます。履歴は、ファイル/アクションメニューを選択するか、リストの上にあるツールバー内の「アクション」ボタンをクリックすることでパージできます。「履歴をパージ」を選択します。アクションメニューで使用可能なオプションについて詳しくは、アクションツールバーの節を参照してください。
ワークフローは、特定のアクティビティ経由で操作されるワークテーブルを伝達します。
Adobe Campaign では、データ管理アクティビティ経由で、ワークフローの作業用テーブルの列の編集、名前変更およびエンリッチメントが可能です。例えば、契約の共同受益者に関する追加情報を集める際に、クライアントのニーズに従った命名法に応じて列の名前を付けることができます。
さらに、各種作業のディメンション間にリンクを作成したり、ディメンションの変更を定義することもできます。例えば、データベース内に記録された各契約について、契約のメイン所有者を指名し、追加情報内の共同所有者データを使用します。
ワークフローが停止すると、ワークフローのワークテーブルは自動的に削除されます。
作業用テーブルを保持したい場合、リストの更新アクティビティを使用してリストに保存します(リストの更新を参照)。
エラーが発生すると、ワークフローが一時停止し、エラー発生時に実行中だったアクティビティが赤く点滅します。「監視」タブのワークフロー概要で「ワークフロー」リンクをクリックすると、以下に示すように、エラーのあるワークフローのみ表示できます。
Adobe Campaign エクスプローラーでは、デフォルトでワークフローリストに「失敗」列が表示されます。
ワークフローでエラーが発生すると、そのワークフローのスーパーバイザーグループに所属しているオペレーターに、E メールによる通知が送られます(プロファイルに E メールアドレスが記載されている場合)。このグループは、ワークフロープロパティの「スーパーバイザー」フィールドで選択されています。
通知の内容は、「ワークフローマネージャーの通知」デフォルトテンプレート内に設定されています。このテンプレートは、ワークフロープロパティの「実行」タブで選択されています。通知には、エラーの発生したワークフローの名前と、問題のタスクが記載されます。
通知の例:
ログインしている場合、通知内のリンクをクリックすると、Web モードの Adobe Campaign コンソールが表示され、エラーの発生したワークフローに対処することができます。
エラーが発生した場合に一時停止せず実行を継続するように、ワークフローを設定することもできます。それには、ワークフローのプロパティを編集し、「エラー管理」セクションの「エラーの場合」フィールドで「無視」オプションを選択します。無視できる連続エラー数を指定します。連続エラーがこの数を超えると、プロセスが一時停止します。
この場合、エラータスクは中止になります。このモードは、キャンペーンを定期的アクションで後から再試行するように設計されたワークフローに最適です。
この設定は、各アクティビティに個別に適用できます。それには、アクティビティのプロパティを編集し、「詳細設定」タブでエラー管理モードを選択します。
ワークフローの実行のトラブルシューティングについて詳しくは、Campaign Classic v7 実稼動ガイドを参照してください。
アクティビティについては、「エラーを処理」オプションに、エラー発生時に有効にされる特定のトランジションが表示されます。この場合、ワークフローはエラーモードに入らず、実行は継続されます。
対象となるエラーは、ファイルシステムエラーです(ファイルを移動できない、ディレクトリにアクセスできない、など)。
このオプションは、無効な値など、アクティビティの設定に関するエラーは処理しません。設定の誤りに関するエラー(ディレクトリが存在しないなど)では、このトランジションは有効になりません。
エラーの発生後、手動または自動でワークフローが一時停止した場合、「開始」ボタンを押すと、一時停止した位置からワークフローの実行が再開します。エラーが発生したアクティビティ(一時停止したアクティビティ)は、再実行されます。それより前のアクティビティは再実行されません。
すべてのワークフローを再実行するには、「再起動」ボタンを使用します。
既に実行済みのアクティビティを変更した場合、ワークフローの実行を再開した際に、変更内容は反映されません。
実行前のアクティビティを変更した場合、ワークフローの実行を再開した際に、変更内容は反映されます。
一時停止したアクティビティを変更した場合、ワークフローを再開した際に、変更内容が正確に反映されません。
可能であれば、変更をおこなった場合には、ワークフローを完全に再起動することをお勧めします。
インスタンスの監視ページでは、Adobe Campaign サーバーのアクティビティを確認したり、エラーが発生したワークフローと配信のリストを表示することができます。
このページにアクセスするには、「監視 」タブに移動し、「一般ビュー」リンクをクリックします。
すべてのワークフローを表示するには、「ワークフロー」リンクをクリックします。ドロップダウンリストを使用して、ステータス別にプラットフォーム内のワークフローを表示します。
エラーが発生したワークフローのリンクをクリックし、そのワークフローを開いてログを表示します。
1 つのワークフローでは、同時に複数の実行が可能です。場合によっては、これが発生するのを防ぐ必要があります。
例えば、1 時間ごとにワークフローの実行をトリガーするようにスケジューラーを設定できますが、ワークフロー全体の実行に 1 時間以上かかる場合があります。ワークフローが既に実行中の場合、実行をスキップしたいことがあります。
ワークフロー開始時にシグナルアクティビティがある場合、ワークフローが実行中であればシグナルをスキップしたいことがあります。
一般的な原則を次に示します。
解決策としては、インスタンス変数を使用します。インスタンス変数は、ワークフローのすべての並列実行で共有されます。
次に、シンプルなテストワークフローを示します。
スケジューラーは、1 分ごとにイベントをトリガーします。次の「テスト」アクティビティは、isRunning インスタンス変数をテストして、実行を継続するかどうかを判定します。
isRunning は、この例のために選択した変数名です。これは、ビルトイン変数ではありません。
はい分岐のテストの直後のアクティビティの初期化スクリプトにインスタンス変数を設定する必要があります。
instance.vars.isRunning = true
はい分岐の最後のアクティビティは、その初期化スクリプトで変数を false に戻す必要があります。
instance.vars.isRunning = false
注意:
ワークフローのプロパティの「変数」タブで、インスタンス変数の現在の値をチェックできます。
インスタンス変数は、ワークフローを再開するとリセットされます。
JavaScript では、テストでの未定義の値は false で、初期化前でもインスタンス変数をテストできます。
終了のない初期化スクリプトにログ手順を追加することで、このメカニズムが原因で処理されないアクティビティを監視できます。
logInfo("Workflow already running, parallel execution not allowed.");
使用例については、データ更新の調整の節で説明しています。
ワークフローは、多くのワークテーブルを使用します。ワークテーブルは、メンテナンスしないと、領域を消費し、プラットフォーム全体の低速化を招きます。データベースメンテナンスについて詳しくは、この節を参照してください。
管理/プロダクション/テクニカルワークフローノードからアクセスできるデータベースクリーンアップワークフローを使用すると、古いデータを削除して、データベースの急激な増加を回避できます。ワークフローは、ユーザーの操作なしで自動的にトリガーされます。Campaign Classic v7 実稼動ガイドを参照してください。
また、特定のテクニカルワークフローを作成して、ディスク容量を消費する不必要なデータをパージできます。Campaign Classic v7 実稼動ガイドとこの節を参照してください。
デフォルトでは、ワークフローを一時停止してもワークテーブルはパージされません。
ビルド 8880 以降では、長期間一時停止状態が続いているワークフローは自動的に停止され、作業用テーブルがパージされます。この動作は次のようにトリガーされます。
停止までの期間は NmsServer_PausedWorkflowPeriod オプションを通じて設定できます。
ワークフローのスーパーバイザーには通知が届きます。作成者および最後にワークフローを変更したユーザーにも通知が届きます。管理者には通知は届きません。
Campaign Classic インターフェイスを使用すると、事前定義された表示を使用して、インスタンス上のすべてのワークフローの実行ステータスを監視できます。これらの表示にアクセスするには、管理/監査/ワークフローステータスノードを開きます。
以下の表示を使用できます。
デフォルトでは、これらの表示は監査フォルダー内でアクセスできます。ただし、フォルダーツリーで選択した場所に再作成できます。これにより、管理権限のない標準ユーザーも利用できるようになります。
手順は次のとおりです。
また、これらの表示に加えて、実行ステータスに応じてワークフローのリストをフィルタリングできるフィルターフォルダーを設定できます。手順は次のとおりです。
詳しくは、次の節を参照してください。