专业化管理 > 支持可视化和发布 > 配置发布器队列 > 发布器队列和工作器代理配置的常规流程
  
发布器队列和工作器代理配置的常规流程
通过执行以下步骤来配置发布器队列︰
1. 计算优化发布所需的发布器队列数。
2. 配置附加发布器队列
3. 设置发布器队列优先级
4. 配置发布器队列和工作器可用性
5. 配置专用的发布器队列集和工作器集
有关配置过程的入门信息,请继续阅读下一部分。
计算发布器队列数
已编号发布器队列的数量在平衡发布载荷方面至关重要,因为它允许跨多个队列并行处理 WVS 作业。作为一般规则,您所需的处理队列数应至少与配置的 CAD 工作器数相同。但是,所需的实际数量取决于多种因素,可在分析发布统计信息的基础上进行调整。
有关调整发布系统大小的详细信息,请参阅调整可视化发布系统的大小
随后,便可使用 WVS“作业统计信息”工具监视发布系统,并相应地进行调整。有关详细信息,请参阅 WVS 作业统计信息
要配置附加编号处理队列,请继续阅读下一部分。
配置附加发布器队列
要配置附加编号处理队列,请执行以下步骤:
1. 使用 Windchill“队列管理”实用程序创建所需的新编号处理队列。
a. 单击“新建队列”“新建队列”对话框随即打开。
b. “名称”旁,输入新队列的名称。
c. “类型”旁,从下拉菜单中选择“进程”
d. “已启用”下,选择“确定”
e. “执行主机”旁,键入 Default
* 
如果配置了多个后台方法服务器,请将队列组设置为已定义的 WVS 组。
f. “失败重试次数”旁,输入数字。
g. “暂停持续时间”旁,输入数字。
h. 选择“确定”。创建新的编号队列。
WVS 将立即开始使用此队列。
默认情况下,Windchill 设置为删除在所有队列 (PublisherQueue1 和 PublisherQueue2 除外) 中处理的已完成发布作业的所有信息。
如果要移除已完成的队列条目,则无需继续。
如果需要为任何队列集中的附加队列保留 WVS 作业详细信息日志记录信息,请继续步骤 2。
2. 配置 Windchill 以保留已完成 WVS 作业的详细信息。
a. 对于每个附加处理队列,请使用 xconfmanager 命令将所需 removeCompleted 特性添加到 wt.properties 文件。
例如,要防止从发布器队列集 "PROE" 中的第一个队列中删除已完成作业:
xconfmanager -t codebase/properties -s
"wt.queue.removeCompleted.PublisherQueuePROE1=false"
b. 通过执行 xconfmanager -p 命令传播所进行的更改。
3. 重新启动 Windchill 方法服务器,以重新加载已更新的 wvs.properties 设置。
有关配置保留或移除已完成队列条目特性的详细信息,请参阅技术支持知识库文章 CS32811
设置发布作业优先级
使用优先发布器队列,可帮助您定义作业顺序的一些简单规则。可根据 WVS 作业的类型和源,为与 WVS 作业相关的队列条目设置目标优先发布器队列。要获取 WVS 作业类型和源的列表,请参阅 wvs.properties.xconf 文件中的 PUBLISHER SETTINGS 。
配置目标优先发布器队列,包括以下主要任务︰
1. 确定 WVS 作业类型和源组合的相对优先级 (高、中或低)。
2. 通过在 wvs.properties 文件中设置作业的相应类型和源来分配选取的优先级。
例如,要在高优先级下配置从手动检入操作 (源 1) 发布的 CAD 文档 (类型 1),请设置以下 xconfmanager 命令:
xconfmanager -t codebase/WEB-INF/conf/wvs.properties -s
"publish.publisherqueue.priorities.1.1=H"
有关设置作业优先级的详细信息,请参阅技术支持知识库文章 CS28472
3. 通过执行 xconfmanager -p 命令传播所进行的更改。
4. 重新启动 Windchill 方法服务器。
使用自定义筛选方法
如果作业源和类型在设置优先级时未提供所需的控制级别,请使用自定义筛选方法。可以使用自定义方法显式设置 WVS 作业优先级和发布器队列集,以便实施您自己的业务规则。
自定义筛选方法通过 wvs.properties 文件中的 publish.publishqueue.priorities.filtermethod 特性进行配置,且在提交“发布器作业”时调用。筛选方法将返回用于发布作业的优先级和发布器队列集。如果已定义自定义方法,则将始终使用自定义方法来代替 publish.publishqueue.priorities.<type>.<source> 特性。
有关筛选方法的详细信息,请参阅使用专用发布队列的筛选方法部分。
除了定义作业顺序的规则,您还可以通过配置发布器队列和工作器可用性来增加发布吞吐量。
有关如何配置发布器队列和工作器可用性的信息,请继续阅读下一部分。
关于配置发布器队列和工作器可用性
除了按优先级排列简单作业外,您还可以配置发布器队列和工作器可用性,从而增加非高峰期间的发布吞吐量。例如,在主要数据迁移或导入后。
有关配置发布器队列和工作器可用性的信息,请参阅配置发布器队列中的“配置发布器队列和工作器可用性”。
关于专用的发布器队列集和工作器集
专用的发布器队列集和工作器集可用于完全单独发布不同类型的数据。这可以防止不同类别的发布之间互相影响,且可实现两者的单独管理。
配置专用发布器队列集时,您实际上创建了用于发布特定类别数据的独立路由。如果要发布的数据需要翻译,则可以同时配置专用的工作器集和专用的发布器队列集。如果不需要翻译,或者要使用所有工作器来处理任何发布器队列集中的作业,则仅需配置专用的发布器队列集。
有关详细信息,请参阅使用专用发布队列
要配置专用的发布器队列集
专用发布器队列集的配置提供了可将不同类型数据单独发布的方式。例如,发布 WTDocument 所需的时间很短,而发布 CAD 文档所需的时间通常很长。通过配置专用发布器队列集来发布 WTDocument,可避免发布队列中出现积压。
要配置专用发布器队列集,请执行以下步骤:
1. 将集名称添加到 wvs.properties 文件中的 publish.publishqueue.setnames 特性,以创建新发布器队列集。
2. 调整 wt.properties 文件中的 Windchill 配置,以允许附加队列:
a. 如果新的 Windchill 队列数量超过 wt.queue.max.processQueues 的值,则增大当前值。
b. 针对所有新的已编号发布器队列,将这些特性设置为 false,以保留已完成的 Windchill 队列条目和相关的发布作业详细信息日志 (如 WVS 作业监视器中所示)。
wt.queue.removeCompleted.PublisherQueue<setname><number>
例如,
wt.queue.removeCompleted.PublisherQueuePROE1=false
3. 将 WVS 配置为使用新的发布器队列集。为此,最好编写用于设置发布器队列优先级和集的自定义类和方法,以及待创建表示的名称和说明。然后,将通过 wvs.properties 文件中的 publish.publishqueue.priorities.filtermethod 特性定义要使用的类和方法。
4. 重新启动 Windchill 方法服务器,以重新加载已更新的 wvs.properties 设置。
请参阅使用专用发布队列下的“将发布作业提交至具有特定优先级的专用发布队列”。
要配置专用工作器集
默认情况下,WVS 没有预定义的工作器集。所有工作器均隐式属于“默认”工作器集。
通过创建专用工作器集,可将工作器分配到逻辑工作器集。然后,可以配置此“工作器集”来处理特定类别的作业或特定类型的发布。您还可以将其映射到特定或多个发布器队列集。
1. 使用“工作器代理管理”配置向导的“添加工作器”按钮创建所需的工作器。
2. 手动编辑工作器代理 agent.ini 文件并为其逐个添加 queueset 参数,以将工作器分配到工作器集。例如,在每个工作器集配置的 agent.ini 文件中,添加工作器集配置,然后添加 queueset=<QueuesetName> 参数。
* 
工作器可以是多个工作器集的成员。
queueset 参数是以空格分隔的工作器类型集名称列表。
如果工作器未定义 queueset 参数,则意味着它是默认工作器队列集的一部分。
如果 queueset 参数由默认发布器队列集使用且是一系列工作器队列集的一部分,则可以将其设置为“默认”。
3. 编写用于根据您自己的业务规则确定工作器集的自定义类和方法,以配置分配给各个工作器集的发布作业。然后,通过设置 wvs.properties 文件中的 publish.publishqueue.usesetworkers.filtermethod 特性,定义 WVS 要使用的类和方法。
有关详细信息,请参阅 Windchill 帮助中心中的 使用专用发布队列
4. 重新启动 Windchill 方法服务器,以重新加载已更新的 wvs.propertiesagent.ini 设置。
将专用工作器集与专用发布器队列集配合使用
如果已定义专用发布器队列集且已实施自定义筛选器以向其提交特定类别的发布作业,则可使用
publish.publishqueue.usesetworkers.forqueueset.<SetName>=<WorkerType>
wvs.properties 文件中的特性,为其指定名称类似的专用工作器集。其中,<SetName> 为发布器队列集名称,而 <WorkerType> 为必须向其映射的以空格分隔的工作器类型列表。
例如,以下特性设置可将发布器队列集名称 CAD 映射到工作器集名称 CAD (仅限于 PROE 和 UG 工作器类型)。
publish.publishqueue.usesetworkers.forqueuesetCAD=PROE UG
有关配置专用发布器队列集和工作器集的详细信息,请参阅技术支持知识库文章 CS132318CS80629