WVS 工作排程器管理
排程工作
欲存取「排程工作」視窗,請在 Windchill 的「導覽器」中,從「網站」「組織」「專案」「產品」「物件庫」中選取「公用程式」,然後選取「WVS 工作排程器管理」
「工作排程器管理」會在工作所在的前後關聯內操作。例如,如果您排定一個要發行某特定產品之所有 CAD 文件的工作,則此工作僅會發行該產品中所有的 CAD 文件。
請使用下列程序來排程發行工作:
1. 「排程工作」視窗中,於「名稱」欄位內輸入工作的名稱。
最多可輸入 200 個字元。此為必填欄位。
2. 「描述」欄位中輸入發行工作的簡短描述。
最多可輸入 200 個字元描述。
3. 如果只希望排程器產生發行工作的記錄檔而不真的提交發行工作,您可以勾選「只建立記錄檔」核取方塊。如此可讓您寫入新的排程工作,並不用實際提交工作就可測試。
4. 「工作類型」下,選取您想要的工作類型。可用選項有「發行工作」、「干涉偵測工作」、「列印工作」、「縮圖工作」與「清理工作」。「工作」欄位會相應更新。
5. 「工作」清單中,選取要包括在所選「工作類型」中的工作參數。如需有關可用篩選器的詳細資訊,請參閱 WVS 工作排程器篩選器
6. 決定是否要立即執行工作,或者是設定它在特定時間執行。
欲立即執行工作,請在「開始工作」下,選取「立刻發行」
欲將工作設定為在指定時間執行,請選取您想要排程工作開始的「月」「日」「年」「時」「分」
7. 決定工作只要在指定的開始時間執行一次,或是每隔一段指定時間重複執行。
欲在指定的開始時間執行一次工作,請在「工作頻率」下,選取「一次」
若要重複執行工作,請指定要每隔多少「日」「時」「分」重複發行工作。
8. 按一下「排程」
該項發行工作會出現在「排程的工作」表中。
欲刪除發佈工作,請在發佈工作所在列的最後一欄中按一下
欲重新整理發佈工作清單,請按一下「重新整理清單」
執行工作時,如果記錄檔開啟,排程工作的名稱會顯示為連結。選取該連結可顯示一個記錄檔,其中會列出已傳送以進行發佈的項目。如果有選取「只建立記錄檔」選項,則該連結會顯示應被選取以進行發行的項目清單。
設定自動化發佈排程
您可以使用「WVS 工作排程器管理」將請求提交至 Windchill 排程佇列以進行處理。以下是範例。設定您網站的特定自動化發佈排程,來自動化某些類型資料的定期發佈。
排程工作第一次提交時,會建立名為 WVSScheduleQueue 的新 Windchill 排程佇列。您可以使用 Windchill「佇列管理」公用程式來確認此佇列存在且為作用中。排程佇列以指定的日期和時間、以及指定的頻率來提交發行請求。
wvs.properties 檔案中的設定定義了「WVS 工作排程器管理」公用程式之「排程工作」頁上可以選取的工作。有許多範例工作已經配置好。如果您有特定需求,則可以建立適當的排程工作。
建立「排程工作」的流程分成兩部份:
配置 wvs.properties 檔案
撰寫 Java 程式碼以選取要發佈的物件
以下屬性定義可使用項目的清單 (其中 <n> 是從 1 開始的遞增整數)。
Schedulejobs<n>=<schedulename>
接著 schedulename 用來尋找以下形式的其他屬性:
<schedulename>.description=pull-down description
<schedulename>.class=<ClassContainingMethod>
<schedulename>.method=<nameOfMethod>
<schedulename>.enableOnContainers=<true/false>
<schedulename>.description 內容可定義出現在「排程的工作」窗格中「工作類型」下拉選單中的文字。類別和方法則用來識別排程工作將呼叫的特定方法。enableOnContainers 的值可決定當在特定前後關聯中呼叫排程器 UI 時,是否在工作清單中顯示此排程工作。這表示排程工作包含可根據前後關聯篩選要發行之物件的代碼。
下列是發行工作方法的簽名:
public static QuerySpec <nameOfMethod>()
public static QueryResult <nameOfMethod>()
public static WTList <nameOfMethod>()
如果傳回 QuerySpec,則會使用 PersistenceHelper.manager.find(),進行查詢並傳回 QueryResult。這個 QueryResult 或直接從排程工作方法傳回的結果,會包含為發行所傳送的 EPMDocuments/WTParts/WTDocuments/Representations。
會使用預設的組態規格。如果 QueryResult 包含「表示」,則會傳送表示以供重新發行。如果 QueryResult 包含 WTDocument,則所有可發行檔案,亦即具有 Worker XXX=對應 (在 wvs.properties 中定義) 的檔案就會傳送至發行。
如果提交的發行工作需要更精細的控制,排程工作方法可以傳回空的 QueryResult 或 WTList,並會視需要在排程工作代碼中使用 doPublish 方法來提交發行工作。
若要取得排定工作的目前容器前後關聯,請在工作方法中使用以下方法呼叫:
WTContainerRef cr = com.ptc.wvs.server.schedule.ScheduleJobs.
getCurrentContainer();
以下範例排定工作方法會在目前前後關聯中發佈所有的 EPMDocument:
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
這是否有幫助?