WVS ジョブスケジューラ管理
ジョブのスケジュール
「スケジュールジョブ」ウィンドウにアクセスするには、Windchill の「ナビゲータ」で、「サイト」「組織」「プロジェクト」「製品」、または「ライブラリ」から「ユーティリティ」を選択し、「WVS ジョブスケジューラ管理」を選択します。
ジョブスケジューラ管理は、そのジョブが存在するコンテキストの中で動作します。たとえば、特定の製品からすべての CAD ドキュメントをパブリッシングするようにジョブをスケジュールしている場合は、すべての CAD ドキュメントのパブリッシングがその製品のみでパブリッシングされます。
パブリッシングジョブをスケジュールするには、以下の手順に従います。
1. 「スケジュールジョブ」ウィンドウで、「名前」フィールドにジョブの名前を入力します。
最大 200 文字まで入力できます。これは必須フィールドです。
2. 「説明」フィールドに、パブリッシングジョブの概略を入力します。
最大 200 文字まで入力できます。
3. パブリッシングジョブを実際にサブミットせずに、パブリッシングジョブのログファイルのみを作成する場合は、「ログファイルのみを作成」チェックボックスをオンにします。これにより、新しいスケジュールジョブを記述して、ジョブを実際にサブミットせずにテストできます。
4. 「ジョブのタイプ」で、必要なジョブのタイプを選択します。使用可能なオプションは、「パブリッシングジョブ」、「干渉検知ジョブ」、「印刷ジョブ」、「サムネイルジョブ」、「クリーンアップジョブ」です。選択した内容に応じて、「ジョブ」フィールドが更新されます。
5. 「ジョブ」リストで、選択した「ジョブのタイプ」に含めるジョブパラメータを選択します。
パブリッシングジョブ - 以下のオプションがあります。
PublishAllEPMDocumentsNoRepresentation
PublishAllLatestEPMDocumentsNoRepresentation
PublishAllPartsNoRepresentation
RepublishAllDefaultRepresentations
PublishAllEPMDocuments
RepublishAllOutOfDateRepresentations
PublishAllWTDocumentsNoRepresentation
PublishAllLatestWTDocumentsNoRepresentation
PublishAllWTDocuments
PublishAllLatestWTDocuments
SISAutomatedTranslationPublish - Services Information Manager Worker (SIS Worker) が設定されている場合に使用できます。
干渉検知ジョブ - 使用できるオプションは 1 つのみです。
InterferenceDetectionDefinition
1. 処理する既存の「干渉検知定義」を指定します。「サーチ」をクリックして「干渉検知定義をサーチ」ウィンドウを開きます。「サーチ結果」枠が開き、使用可能な IDD が表示されます。
2. 「最新の作業版数を使用」を選択すると、選択した「干渉検知定義」の最新のバージョンが使用されます。
* 
「最新の作業版数を使用」を選択した場合、「サーチ」では、干渉検知定義の最新の作業版数のみがリストされます。
「印刷ジョブ」のオプションは 1 つだけで、ジョブをプリンタに送ります。
サムネイルジョブ - 以下のオプションがあります。
GenerateRepresentationThumbnails
GenerateLatestRepresentationThumbnails
AddRepresentation3DThumbnails
AddLatestRepresentation3DThumbnails
RegenerateRepresentationThumbnails
RegenerateLatestRepresentationThumbnails
AddRepresentationSmallThumbnails
AddLatestRepresentationSmallThumbnails
* 
ミニサムネイル表現をパブリッシングするには、サムネイルジョブオプションとして AddRepresentationSmallThumbnails および AddLatestRepresentationSmallThumbnails を使用します。ミニサムネイルが必要ない場合は、名前に「Generate」および「Add ... 3D」が含まれているサムネイルジョブオプションを使用します。
クリーンアップジョブ - 以下のオプションがあります。
DeletedCompletedJobs
DeletedCompletedSuccessfulJobs
「次よりも古いジョブを削除」の「0 」フィールドで、削除するジョブを指定します。たとえば、0 を入力した場合は今日のジョブよりも古いジョブが削除され、1 を入力した場合は昨日のジョブよりも古いジョブが削除されます。
* 
上記のリストで、「latest」は、Windchill に最後にチェックインしたドキュメント作業版数を意味しています。したがって、「PublishAllLatestWTDocuments」を選択すると、最新の WTDocument 作業版数のみがパブリッシングされ、それより古いすべての作業版数はパブリッシングされません。
上記のジョブのリストは、Windchill でデフォルトで提供されています。ユーザーは独自のジョブパラメータを定義することができます。詳細については、WVS ジョブと WVS キューの概要を参照してください。
6. ジョブパブリッシングをすぐに実行するか、指定された時間に実行するように設定するかを決定します。
ジョブをただちに実行するには、「ジョブを開始」フィールドの「即時」チェックボックスをオンにします。
指定した時間にジョブを実行するように設定するには、スケジュールジョブを開始する日時の「月」「日」「年」「時」「分」を選択します。
7. ジョブは、指定された開始時間に 1 度だけ実行するか、指定された間隔で繰り返し実行するかを決定します。
ジョブを指定時間に 1 度だけ実行するには、「ジョブの回数」フィールドの「1 回」チェックボックスをオンにします。
ジョブを繰り返し実行するには、ジョブパブリッシングを次に実行するまでの、「日」「時」「分」の間隔を指定します。
8. 「スケジュール」をクリックします。
パブリッシングジョブが「スケジュールされたジョブ」テーブルに表示されます。
パブリッシングジョブを削除するには、パブリッシングジョブの行の最終列で をクリックします。
パブリッシングジョブのリストを再表示するには、「リストを再表示」 をクリックします。
ジョブが実行されると、ログファイルを開いた場合、スケジュールジョブの名前がリンクとして表示されます。リンクを選択すると、パブリッシング用に送信されたアイテムのリストを含むログファイルが表示されます。「ログファイルのみを作成」オプションが選択されている場合は、リンクをクリックすると、パブリッシング用に選択されるアイテムのリストが表示されます。
自動パブリッシングスケジュールの設定
「WVS ジョブスケジューラ管理」を使用して、リクエストを Windchill スケジュールキューにサブミットして処理できます。以下に例を示します。使用するサイト独自の自動パブリッシングスケジュールを設定して、特定タイプのデータの定期的なパブリッシングを自動化します。
スケジュール化ジョブが初回にサブミットされる際、WVSScheduleQueue と呼ばれる新しい Windchill スケジュールキューが作成されます。Windchill 「キュー管理」ユーティリティを使用して、スケジュールキューが存在してアクティブであることを確認できます。スケジュールキューは、指定の日付、時刻、および頻度でパブリッシングリクエストをサブミットします。
wvs.properties ファイルの設定により、「WVS ジョブスケジューラ管理」ユーティリティの「スケジュールジョブ」ページで選択可能なジョブが決まります。多数のジョブ設定例があります。特定の要件があれば、それに応じてスケジュールを作成できます。
「スケジュールジョブ」の作成プロセスは、次の 2 つに分かれています。
wvs.properties ファイルの設定
パブリッシングするオブジェクトを選択する java コードの作成
以下のプロパティで、使用可能なエントリのリストを定義します (<n> は増分を表す連続する整数であり、初期値は 1 です)。
Schedulejobs<n>=<スケジュール名>
スケジュール名は、以下の形式の追加プロパティの検索に使用されます。
<スケジュール名>.description=pull-down description
<スケジュール名>.class=<メソッドを含むクラス>
<スケジュール名>.method=<メソッド名>
<スケジュール名>.enableOnContainers=<true/false>
<スケジュール名>.description プロパティは、「スケジュールされたジョブ」枠の「ジョブのタイプ」ドロップダウンメニューに表示されるテキストを定義します。クラスとメソッドは、スケジュールジョブによって呼び出される特定のメソッドの識別に使用されます。スケジューラの UI が特定のコンテキストで呼び出されたときにこのスケジュールジョブがジョブのリストに表示されるかどうかは、enableOnContainers の値で決まります。これは、コンテキストに基づいてパブリッシングするオブジェクトをフィルタリングするコードがスケジュールジョブに含まれることを示します。
以下にパブリッシュジョブメソッドの署名を示します。
public static QuerySpec <メソッド名>()
または
public static QueryResult <メソッド名>()
または
public static WTList <メソッド名>()
QuerySpec が返された場合は、PersistenceHelper.manager.find() を使用して照会し、QueryResult を返します。この QueryResult、またはスケジュールジョブメソッドから直接返された結果には、パブリッシング用に送信される EPMDocuments/WTParts/WTDocuments/ 製品表現が含まれています。
デフォルトのコンフィギュレーション仕様が使用されます。QueryResult に製品表現が含まれている場合、製品表現は再パブリッシング用に送信されます。QueryResult に WTDocument が含まれている場合は、すべてのパブリッシング可能なファイル、つまり、wvs.properties で worker XXX=mapping が定義されているファイルが、パブリッシング用に送信されます。
サブミットされるパブリッシングジョブに対してさらに細かい制御が必要な場合、スケジュールジョブメソッドは空の QueryResult または WTList を返し、スケジュールジョブコードで doPublish メソッドを使用して必要に応じてパブリッシングジョブをサブミットします。
スケジュールジョブの現在のコンテナのコンテキストを取得するには、ジョブメソッドで以下のメソッド呼び出しを使用します。
WTContainerRef cr = com.ptc.wvs.server.schedule.ScheduleJobs.
getCurrentContainer();
以下のスケジュールジョブメソッドの例は、現在のコンテキストにあるすべての EPMDocuments をパブリッシングします。
public static QuerySpec allEPMDocuments()
{
QuerySpec qs = null;
try {
qs = new QuerySpec(EPMDocument.class);
WTContainerRef cr = com.ptc.wvs.server.schedule.ScheduleJobs.getCurrent
Container();
if( cr != null ) {
ContainerSpec cs = new ContainerSpec();
cs.addSearchContainer(cr);
qs.setAdvancedQueryEnabled(true);
qs.appendWhere(WTContainerHelper.getWhereContainerIn(cs, EPMDocument.
class),new int[]{0});
}
} catch (Exception e ) { e.printStackTrace(); }
return qs;
}
スケジュールジョブのデバッグ情報を入手するには、wvs.properties ファイルで次のプロパティを true に設定します。
publish.publishqueuehelper.verbose=true
* 
WVS ジョブスケジューラ管理の詳細については、Windchill Visualization Services のカスタマイズを参照してください。
これは役に立ちましたか?