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 工作器 (SIS 工作器) 时可用。
“干涉检测作业”- 有一个可用选项。
InterferenceDetectionDefinition
1. 指定要处理的现有“干涉检测定义”。单击“搜索”打开“搜索干涉检测定义”窗口。“搜索结果”窗格随即打开,其中填充有可用的 IDD
2. 选择“使用最新小版本”,以使用选定“干涉检测定义”的最新版本。
* 
如果选择了“使用最新小版本”,则“搜索”列表中将仅列出干涉检测定义的最新小版本。
“打印作业”只有一个可将作业发送到打印机的选项。
“缩略图作业”- 有下列可用选项:
GenerateRepresentationThumbnails
GenerateLatestRepresentationThumbnails
AddRepresentation3DThumbnails
AddLatestRepresentation3DThumbnails
RegenerateRepresentationThumbnails
RegenerateLatestRepresentationThumbnails
AddRepresentationSmallThumbnails
AddLatestRepresentationSmallThumbnails
* 
要发布小型缩略图表示,请使用 AddRepresentationSmallThumbnails 和 AddLatestRepresentationSmallThumbnails 缩略图作业选项。如果不需要小型缩略图,请使用 "Generate" 和 "Add 3D" 缩略图作业名称。
“清理作业”- 有下列可用选项:
DeletedCompletedJobs
DeletedCompletedSuccessfulJobs
“删除早于以下时间的作业”0“天”字段中,指定要删除的作业。输入 0 以删除早于今天作业的作业,并输入 1 以删除早于昨天作业的作业,以此类推。
* 
在以下各列中,"latest" 表示最近检入 Windchill 的文档小版本。因此,如果选择 "PublishAllLatestWTDocuments",将仅发布最近的 WTDocument 小版本,而不会发布所有较早小版本。
上面列出的作业是 Windchill 中提供的默认作业。您也可以定义自己的作业参数。有关详细信息,请参阅 WVS 作业和队列简介
6. 确定您要立即执行作业还是设置此项作业在指定时间执行。
要立即执行作业,请在“开始作业”字段中选择“立刻”复选框。
要将作业设置为在指定时间执行,请选择希望安排作业开始执行的“月”“天”“年”“时”“分”
7. 确定希望作业仅在指定开始时间执行一次,还是在指定时间间隔内重复执行。
要在指定的开始时间执行一次作业,请在“作业频率”字段中选择“只一次”复选框。
要重复执行作业,指定希望发布作业重新执行所依照的“天”“时”“分”时间间隔。
8. 单击“排程”
这时,发布作业将显示在“已安排作业”表格中。
要删除发布作业,请单击发布作业行最后一列中的
要刷新发布作业列表,请单击“刷新列表”
作业执行后,如果日志文件处于打开状态,则排程作业的名称将显示为链接。选择此链接可显示日志文件,其中列出了已经发送以便进行发布的项。当选择“只创建日志文件(Only create log file)” 选项时,单击此链接可显示已被选中用于发布的项列表。
设置自动发布排程
利用“WVS 作业安排程序管理”可将请求提交至 Windchill 排程队列进行处理。下面提供了示例。设置特定于您的站点的自动发布排程以定期自动发布某些数据类型。
第一次提交已安排作业时,将创建名为 WVSScheduleQueue 的新 Windchill 排程队列。可使用 Windchill“队列管理”实用程序来确认该队列是否存在并处于活动状态。排程队列在指定的日期和时间、按指定的频率提交发布请求。
wvs.properties 文件中的设置定义了可从“WVS 作业安排程序管理”实用程序的“排程作业”页面选择的作业。其中有许多已配置的作业示例。如果您有特殊的需求,则可创建相应的安排作业。
排程作业的创建分为两个步骤:
配置 wvs.properties 文件
编写 java 代码,以选择要发布的对象
以下特性定义可用条目的列表 (其中 <n> 是从 1 开始连续递增的整数)。
Schedulejobs<n>=<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 或直接从排程作业方法返回的 QueryResult 中,包含为发布而发送的 EPMDocument/WTPart/WTDocument/表示。
使用默认配置规范。如果 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
这对您有帮助吗?