エラー処理をジョブに追加する

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  ジョブの構成の例 >

エラー処理をジョブに追加する

この例では、ディレクトリのコンテンツをリストするシンプルなジョブにエラー処理を追加する方法について説明されています。具体的には、 FlowForce Server の構成方法を説明します:

 

何らかの理由でジョブが実行に失敗した場合、名前の挙げられた宛先に通知メールが送信されます。
ジョブの実行が完了すると、実行の状態に関わらず、ローカルシステム上のファイルのジョブの内部 ID にログされます。

 

FlowForce Server では、この例では、次の2つのエラー処理 条件のために保護されたブロックを作成します: 「エラー時」 と 「常に」 (それぞれ上記のシナリオの内の1つを処理します)。

 

必要条件

必須のライセンス: FlowForce Server
FlowForce Server が構成された ネットワークアドレスとポートで動作していること (以下を参照: ネットワークアドレスとポートの設定)
FlowForce Server メールの設定が構成済みであること (以下を参照: 電子メールパラメーターの設定)
コンテナー の1つでパーミッションを有する FlowForce Server ユーザーアカウントを有していること (デフォルトでは、 /public コンテナー には、認証されたユーザーがアクセスすることができます)。

 

ヒント

この例は、ジョブの戻り値を処理するために必要とされる、 FlowForce Server 式を使用しています。 この例をよりよく理解するには、以下を確認してください: instance-idstderrstdout、および failed-step 式関数 (以下を参照:ステップ結果関数 )。
この例は、 Windows パスとコマンドを使用していますが、 パスとコマンドを必要に応じて変更すると、他のオペレーティングシステム上でテストすることができます。

 

ジョブの作成

1.FlowForce Server が作動するマシンで、JobLog.txt という名前のファイルを作成します(このファイルは次のステップでも使用されます)。
2.FlowForce Server にログオンし、新しいジョブの作成のパーミッションが与えられているコンテナーに移動します (この例は、デフォルトの/public コンテナーを使用しています)。
3.「作成」をクリックし、「ジョブの作成」を作成します。
4.実行ステップで、 add ボタンをクリックし、「新規 エラー/成功の処理ステップ」. を選択します。
5.「新規エラー/成功ハンドラーの実行」 の下の add ボタンをクリックして、次の設定を持つ新規の実行ステップの追加を選択します定:

 

実行関数

次を参照します: /system/shell/commandline 関数。

コマンド

以下のシェルコマンドを入力します:

dir /s

Windows では、このコマンドは再帰的に作業ディレクトリのコンテンツをリストします。  (次の設定を参照してください)。

作業ディレクトリ

値を、 FlowForce Server が作動するマシン上の既存の場所に設定します。例えば、 c:\

 

6.「エラー時」 条件から add ボタンをクリックして、次の設定を持つ新規の実行ステップの追加を選択します:

 

実行関数

次を参照します: builtin_function/system/mail/send 関数。

差出人

出人の電子メールアドレスを入力します。 管理ページからメールの設定を既に構成している場合は、このフィールドを空にしてください。

宛先

電子メールのアドレスを入力します。

件名

通知電子メールの通知の件名を入力します。電子メール は、以下のとおりです:

Job {instance-id()} has failed

メッセージ本文

以下の FlowForce Server 式を入力します:

Exit Code: {string(exitcode(failed-step()))}

Standard Error: {content(stderr(failed-step()))}

Standard Output: {content(stdout(failed-step()))}

ここで使用される各関数の目的についての詳細に関しては、以下を参照してください: ステップ結果関数

 

7. 「新規エラー/成功ハンドラー」をクリックし、「常に」を選択します。
8.「常に」条件から add ボタンをクリックして、次の設定を持つ新規の実行ステップの追加を選択します

 

実行関数

次を参照します: /system/shell/commandline 関数。

コマンド

以下のシェルコマンドを入力します:

echo {instance-id()} >> JobLog.txt

Windows では、このコマンドは、ジョブ ID を JobLog.txt と呼ばれるファイルに書き込みます。ファイルにデータが含まれる場合、新規テキストが既存のデータの後に追加されます。

作業ディレクトリ

前のステップで JobLog.txt ファイルが作成され値が存在するディレクトリに設定します。 FlowForce Server が作動するマシン上の既存のディレクトリである必要があります。例えば、 c:\

 

この段階では、ジョブは以下のようになります (異なるパスまたはシェルコマンドが使用されていないことを想定して )。

ExxampleErrorHandling1

9.トリガーから、毎 N 分 (例えば、 5 分 )ごとに実行されるタイムトリガーを追加します。

ExxampleErrorHandling2

10.資格情報から、既存の資格情報の記録、または、ローカルの資格情報を指定します。 (以下を参照: 資格情報 )。
11. 「保存」をクリックします。

 

 

この段階では、ジョブ構成が完了しました。そして以下のうちの1つを行ってください:

 

「常に」 条件をテストするには、トリガー条件が満たされるまで待ってください。トリガー条件が満たされると、新規のジョブ ID が JobLog.txt ファイルのコンテンツに追加されます。
「エラー時」条件をテストするには、最初のステップのパラメーターに(存在しないパスの指定など)意図的に間違った値を与えてください。 この場合、 FlowForce Server は、「エラー時」処理の宛先フィールドで指定されたアドレスに電子メールを送信します。 更に、 JobLog.txt ファイル内でジョブ ID をログします。 これは、「常に」 条件内でこの振る舞いが構成されているためです。
ジョブの実行が成功したかを確認するため、ジョブログを参照してください (以下を参照: ジョブのログを確認する )。

(C) 2019 Altova GmbH