DedicatedWorkerPublisherQueues

Report
Configure and
Understand Dedicated
Worker and Publisher
Queues
James Kerkstra
Sr. Application Engineer/Windchill System Administrator
Jamie Lynn Momber
Application Engineer/Windchill System Administrator
Tuesday, June 11, 2013
Configure and Understand Dedicated Worker and
Publisher Queues
Steelcase Inc.
• Global leader in the office furniture
industry with insight-based
solutions that improve work
performance.
• Based in Grand Rapids, MI
• 12,000 employees around the
world, 6,000 in the US
• http://www.steelcase.com
2
Configure and Understand Dedicated Worker and
Publisher Queues
Agenda
• Steelcase Windchill environment and configuration
• Out of the box publishing woes
• Steelcase configuration of dedicated Publisher
Queues
• Step by step walkthrough
• Video demo
• Question and Answers
3
Configure and Understand Dedicated Worker and
Publisher Queues
Steelcase Windchill Environment
• Master ( Grand Rapids, MI)
– 3 servers in a cluster ( HPUX )
– 3 CADWorkers ( Windows 2008 server)
• Replica Servers
–
–
–
–
–
–
–
2 US
1 Mexico
2 Kuala Lumpur
1 China
3 France
2 Germany
1 Spain
• About 450 Windchill users world
wide
4
Configure and Understand Dedicated Worker and
Publisher Queues
Out of the Box Publishing
PublisherQueueL
5
4
3
2
1
PublisherQueue1
PROE
Worker
2
3
PublisherQueueM
6
PublisherQueue2
PublisherQueueH
PROE
Worker
6
1
5
Configure and Understand Dedicated Worker and
Publisher Queues
Problem1: Not so Instant Gratification
PublisherQueueL
5
4
3
2
1
PublisherQueue1
PROE
Worker
2
PublisherQueueM
6
PublisherQueue2
PublisherQueueH
PROE
Worker
1
6
Configure and Understand Dedicated Worker and
Publisher Queues
Problem 2: CADWorker Wipeout!
• Issues with CADWorkers hanging
indefinitely…
• ______
• P–X–Y–R
-T
….keeps a worker from processing
requests…
…causes a traffic jam of requests…
…and forced us to implement a
timeout of 15 minutes.
7
Configure and Understand Dedicated Worker and
Publisher Queues
Setting Timeout in CADWorker Recipe File
8
Configure and Understand Dedicated Worker and
Publisher Queues
Problem 3: Large Assembly Mess!
15 minute timeout + Large Assembly
SAD, DISTRUSTING USERS
9
Configure and Understand Dedicated Worker and
Publisher Queues
Problem 4: Large Family Tables
• Viewable created for each family
table instance
• Assembly instances can take a
long time to generate
163 instances
12 minutes
3
gerbils
CADWorkers
~11 hours
10
Configure and Understand Dedicated Worker and
Publisher Queues
Our Solution
• Create dedicated queue set for large assemblies
• Benefits
– Set a higher timeout for larger jobs
– Retain a lower timeout for smaller jobs
– Manual jobs don’t wait so long for larger jobs
11
Configure and Understand Dedicated Worker and
Publisher Queues
Solution in Motion
PublisherQueueL
PublisherQueue1
PROE
Worker
1
PublisherQueueM
PublisherQueue2
PROE
Worker
5
4
3
2
1
6
FILTER
PublisherQueueH
6
3
2
PublisherQueueSUPERL
PublisherQueueSUPERM
PublisherQueueSUPER1
PROE
Worker
4
PublisherQueueSUPERH
12
Configure and Understand Dedicated Worker and
Publisher Queues
DIY Publisher Configuration
1. Create a dedicated Publisher Queue set
2. Create Worker set
3. Map worker sets to Publisher Queue sets
4. Create filter to route jobs to dedicated Publisher Queue set
5. Configure Windchill to use filter method
6. Add a site level preference (optional)
13
Configure and Understand Dedicated Worker and
Publisher Queues
Create a dedicated Publisher Queue set
• Add properties to wvs.properties and wt.properties
– publish.publishqueue.setnames=SUPER
– wt.queue.max.processQueues=<number large enough for MS to start>
– wt.queue.removeCompleted.PublisherQueueSUPER1=false
PublisherQueueSUPERL
PublisherQueueSUPERM
PublisherQueueSUPER1
PublisherQueueSUPERH
14
Configure and Understand Dedicated Worker and
Publisher Queues
Create Worker Set
worker set: DEFAULT
• Worker Set
– Logical grouping of workers
PROE
Worker
• Add queueset property in agent.ini file
PROE
Worker
PublisherQueueSUPERL
PublisherQueueSUPERM
PublisherQueueSUPER1
PROE
Worker
PublisherQueueSUPERH
worker set: SUPER
15
Configure and Understand Dedicated Worker and
Publisher Queues
Map worker sets to Publisher Queue sets
worker set: DEFAULT
• Can be accomplished with a wvs property OR a custom method
PublisherQueueSUPERL
PublisherQueueSUPERM
PROE
Worker
PROE
Worker
FILTER
– publish.publishqueue.usesetworkers.forqueueset.SUPER=PROE
– public static String methodname(Persistable d, String workerType, String fileName,
String queuePriority, String queueSet)
{
return workerset_to_use;
}
PublisherQueueSUPER1
PROE
Worker
PublisherQueueSUPERH
worker set: SUPER
16
Configure and Understand Dedicated Worker and
Publisher Queues
Create filter to route jobs to dedicated Publisher Queue set
worker set: DEFAULT
• Create custom method
PROE
Worker
– public static String[ ] methodname(Persistable p, int requestType, int
requestSource,String requestPriority, String requestSet, String repName,
String repDescription)
FILTER
PROE
Worker
PublisherQueueSUPERL
PublisherQueueSUPERM
PublisherQueueSUPER1
PROE
Worker
PublisherQueueSUPERH
worker set: SUPER
17
Configure and Understand Dedicated Worker and
Publisher Queues
Create filter to route jobs to dedicated Publisher Queue set (cont.)
• Create custom method
– public static String[ ] methodname(Persistable p, int requestType, int requestSource,String
requestPriority, String requestSet, String repName, String repDescription)
Persistable p is the
object being published
int requestType is the publish job request type
int requestSource is the publish job request source
String requestPriority is the priority specified on the request
String requestSet is the Publish Queue Set for the request
String repName is the passed Representation name
String repDescription is the current Representation description
– Return String array with the following values
Return Array [0]: Publisher Queue Priority "H", "M" or "L"
Return Array [1]: Publisher Queue Set
Return Array [2]: Representation name to create
Return Array [3]: Representation description to created
18
Configure and Understand Dedicated Worker and
Publisher Queues
Configure Windchill to use filter method
worker set: DEFAULT
• Create custom method
PROE
Worker
– public static String[ ] methodname(Persistable p, int requestType, int
requestSource,String requestPriority, String requestSet, String repName,
String repDescription)
– Set wvs property to call method
FILTER
• publish.publishqueue.priorities.filtermethod=<Class>/<Method>
• com.steelcase.wvs.server.filter.WindchillQueueSetFilter/SteelcaseQueueSetFilter
PROE
Worker
PublisherQueueSUPERL
PublisherQueueSUPERM
PublisherQueueSUPER1
PROE
Worker
PublisherQueueSUPERH
worker set: SUPER
19
Configure and Understand Dedicated Worker and
Publisher Queues
Final State
PublisherQueueL
PublisherQueue1
PROE
Worker
1
PublisherQueueM
PublisherQueue2
PROE
Worker
5
4
3
2
1
6
FILTER
PublisherQueueH
6
3
2
PublisherQueueSUPERL
PublisherQueueSUPERM
PublisherQueueSUPER1
PROE
Worker
4
PublisherQueueSUPERH
20
Configure and Understand Dedicated Worker and
Publisher Queues
SUPER Queue Preference
• Threshold for assembly size
– Available in our Java calls
– No restart required
21
Configure and Understand Dedicated Worker and
Publisher Queues
Adding A Preference
• Step 1
– Create rbinfo file to add strings for the preference names.
22
Configure and Understand Dedicated Worker and
Publisher Queues
Adding A Preference - continued
• Step 2
– Create xml file to fully describe the preference definition.
23
Configure and Understand Dedicated Worker and
Publisher Queues
Adding A Preference - continued
• Step 3
– from <Windchill Home>/bin
– ./ResourceBuild.sh <resource bundle class path>
– ( for example com.steelcase.pref.steelcasePreferenceResource )
• Step 4
– RESTART WINDCHILL
• Step 5
– windchill wt.load.LoadFromFile –d <xml file path>
– ( for example
/opt/ptc/WC01/Windchill_10.1/Windchill/src/com/steelcase/pref/createSUPERQueueThreshold.x
ml )
24
Configure and Understand Dedicated Worker and
Publisher Queues
References
• Windchill Visualization Services Guide
• Windchill Customization Guide
• Q1 FY13 Platinum Webcast - Dedicated WVS Publisher Queues &
Workers
25
liveglobal.ptc.com

similar documents