FlowForceサーバージョブのカスタマイズ方法
以前の記事「〜というタイトルの記事で」で述べたように、 FlowForce Serverを使用すると、データのマッピングと変換を自動化できます, 私たちは、SimpleMapAndTransformという名前のジョブを作成しました データマッピングの自動化 MapForce Serverと、 HTMLレポートの作成 StyleVision Serverによって生成されました。その後の FlowForce Server このジョブが何度か実行された結果、入力ファイルを処理するために使用しているフォルダに、多くの出力ファイルが蓄積されています。また、作業フォルダ(workFiles)には、一時的な中間ファイルも多数存在しており、その様子は以下の画像に示されています。

この投稿では、処理を改善し、より整理された結果を得るとともに、不要な一時ファイルを削除する方法について説明します。
出力の再構成
まず、入力ファイルを処理する「for each」ループの中に、データのマッピングと変換によって生成された新しい.gpxファイルと.htmlファイルを「完了済み入力」フォルダに移動させる処理を追加できます。以下に示す手順の3番と4番が、その処理です。
各ステップにおける "Working-directory" オプションも、出力のリダイレクトを行うことができます。しかし、処理対象の各入力ファイルを選択するために使用した "" 変数には、フルパスとファイル名が含まれているため、引き続きその文字列を使用し、処理が完了したらすべての出力ファイルを移動する方が簡単です。

弊社のStyleVisionデザインでは、レポート内にグラフを表示するために、グラフデータは別途.pngファイルとして保存され、メインの.htmlドキュメントとは別に管理されます。ジョブの最終段階では、システムコマンドライン機能を使用して、入力フォルダ内のすべての.pngファイルを、作業完了フォルダに移動します。
コマンドライン機能を使用すると、有効なオペレーティングシステムのコマンドを、FlowForce Serverのジョブのステップとして定義できます。このジョブでは、まだ「for each」ループ内にあるため、.pngファイルは関連する.htmlドキュメントと一緒に移動します。ここでは、.pngファイル名にワイルドカードを使用しています。これは、.pngファイルが入力ドキュメントの命名規則を厳密に守っていないためです。このワイルドカードパターンは、1つのレポートに対して複数のグラフを作成するStyleVisionのデザインにも適用できます。
家事の手順
作業ディレクトリの内容を定期的に整理することは、良い習慣です。私たちのシステムでは、レポートの生成のために、.pxfファイルの内容を展開するために、workFilesフォルダを使用しています。この投稿の冒頭にある画像に示されているディレクトリのスクリーンショットには、XMLスキーマ、デザイン用の作業ファイル、さまざまなレポート形式を生成するための.XSLTファイル、および一時的な作業ファイルが含まれています。
ジョブの処理後、ForEachループの後にクリーンアップ処理を追加することも可能です。しかし、FlowForce Serverでは、同じジョブを同時に複数のインスタンスで実行できます。そのため、あるインスタンスが作業ファイルフォルダをクリーンアップしている最中に、別のインスタンスがまだそのフォルダを使用しているという状況が発生するのは望ましくありません。
より良い解決策は、別のメンテナンスジョブを定義し、メインのジョブが処理を停止している時間帯に実行するようにスケジュールすることです。以下に、作業ファイルフォルダをクリーンアップする非常にシンプルなジョブの例を示します。この際、コマンドライン関数を再度使用します

作業ファイルディレクトリ内のすべてのファイルを削除するためにワイルドカードを使用しましたが、この方法はすべての状況に適しているとは限りません。もし、.pxfファイルに.htmlドキュメントで必要とされる.cssスタイルシートや画像ファイルが含まれている場合、より詳細な整理作業が必要になります。
ジョブのトリガー
元のSimpleMapAndTransformジョブは、月曜日から金曜日まで、午前8時30分から午後5時まで、15分ごとに実行されるようにスケジュールされています。 上記のように、クリーンアップジョブは、毎日午後7時(19時)に1回実行されるようにスケジュールされています。 FlowForce ServerのWebインターフェースのホームページには、ジョブのスケジュールが表示されています

以下は、FlowForce Serverのジョブを定義する際に、そのジョブをテストするための簡単な方法です。 各ジョブは、複数のカレンダーによるトリガーを持つことができます。 新しいジョブをすぐにテストし、数秒後に実行するようにスケジュールするために、「一度だけ実行」のトリガーを定義することができます

各ジョブの処理ステップの詳細については、FlowForceサーバーのログを確認することで、すぐに状況を把握することができます。
FlowForce Serverは、Windows、Linux、そして近いうちにMac OSのプラットフォームで利用可能です。お試し版を始めたい方は、 こちらをクリックして、無料トライアル版をダウンロードしてください!