WVS 作业安排程序管理
安排作业
要访问“排程作业”窗口,请在 Windchill“导航器”中从“站点”“组织”“项目”“产品”“存储库”中选择“实用程序”,然后选择“WVS 作业安排程序管理”
“作业安排程序管理”在作业所在的上下文中运行。例如,如果安排一项作业来发布特定产品的所有 CAD 文档,则将仅发布该产品中的所有 CAD 文档。
请按下列步骤安排发布作业:
1. “排程作业”窗口的“名称”字段中,输入作业的名称。
最多可以输入 200 个字符。这是必填字段。
2. “说明”字段中,输入发布作业的简短说明。
说明不能超过 200 个字符。
3. 若不想让安排程序实际提交发布作业,而只生成所要发布内容的日志文件,请选择“只创建日志文件”复选框。这使您可以在无需实际提交作业的情况下写入新的安排作业并对其进行测试。
4. “作业类型”下选择所需的作业类型。可用选项包括:“发布作业”、“干涉检测作业”、“打印作业”、“缩略图作业”和“清理作业”。“作业”字段会相应更新。
5. “作业”列表中,选择要包括在选定“作业类型”中的作业参数。有关可用筛选器的详细信息,请参阅 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
这对您有帮助吗?