Configure and Understand Dedicated Worker and Publisher Queues James Kerkstra Sr. Application Engineer/Windchill System Administrator Tuesday, June 11, 2013 Jamie Lynn Momber Application Engineer/Windchill System Administrator
Feb 23, 2016
Configure and Understand Dedicated Worker and Publisher Queues
James KerkstraSr. Application Engineer/Windchill System Administrator
Tuesday, June 11, 2013
Jamie Lynn MomberApplication Engineer/Windchill System Administrator
2
• 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
Configure and Understand Dedicated Worker and Publisher Queues
Steelcase Inc.
33
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
4
• 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
Configure and Understand Dedicated Worker and Publisher Queues
Steelcase Windchill Environment
5
Configure and Understand Dedicated Worker and Publisher Queues
Out of the Box Publishing
PublisherQueueL
PublisherQueueM
PublisherQueueH
PublisherQueue1
PublisherQueue2
1234
6
5PROE Worker
PROE Worker
1
2
6
3
6
Configure and Understand Dedicated Worker and Publisher Queues
Problem1: Not so Instant Gratification
PublisherQueueL
PublisherQueueM
PublisherQueueH
PublisherQueue1
PublisherQueue26
PROE Worker
PROE Worker
12345
2
1
7
Configure and Understand Dedicated Worker and Publisher Queues
• 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.
Problem 2: CADWorker Wipeout!
8
Configure and Understand Dedicated Worker and Publisher Queues
Setting Timeout in CADWorker Recipe File
9
15 minute timeout + Large Assembly
Configure and Understand Dedicated Worker and Publisher Queues
Problem 3: Large Assembly Mess!
SAD, DISTRUSTING USERS
10
• Viewable created for each family table instance
Configure and Understand Dedicated Worker and Publisher Queues
Problem 4: Large Family Tables
• Assembly instances can take a long time to generate
163 instances
12 minutes
3gerbils
CADWorkers
~11 hours
11
• 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
Configure and Understand Dedicated Worker and Publisher Queues
Our Solution
12
FILT
ER
Configure and Understand Dedicated Worker and Publisher Queues
Solution in MotionPublisherQueueL
PublisherQueueM
PublisherQueueH
PublisherQueue1
PublisherQueue2
PROE Worker
PROE Worker
PublisherQueueSUPERL
PublisherQueueSUPERM
PublisherQueueSUPERH
PublisherQueueSUPER1 PROE Worker
1234
1
3
4
2
56
6
13
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)
Configure and Understand Dedicated Worker and Publisher Queues
DIY Publisher Configuration
14
Configure and Understand Dedicated Worker and Publisher Queues
Create a dedicated Publisher Queue set
PublisherQueueSUPERL
PublisherQueueSUPERM
PublisherQueueSUPERH
PublisherQueueSUPER1
• 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
15
worker set: SUPER
worker set: DEFAULT
Configure and Understand Dedicated Worker and Publisher Queues
Create Worker Set
PublisherQueueSUPERL
PublisherQueueSUPERM
PublisherQueueSUPERH
PublisherQueueSUPER1
PROE Worker
PROE Worker
PROE Worker
• Worker Set– Logical grouping of workers
• Add queueset property in agent.ini file
16
worker set: SUPER
worker set: DEFAULT
Configure and Understand Dedicated Worker and Publisher Queues
Map worker sets to Publisher Queue sets
PublisherQueueSUPERL
PublisherQueueSUPERM
PublisherQueueSUPERH
PublisherQueueSUPER1
PROE Worker
PROE Worker
PROE Worker
• Can be accomplished with a wvs property OR a custom method– publish.publishqueue.usesetworkers.forqueueset.SUPER=PROE– public static String methodname(Persistable d, String workerType, String fileName,
String queuePriority, String queueSet){
return workerset_to_use;}
FILT
ER
17
worker set: SUPER
worker set: DEFAULT
• Create custom method– public static String[ ] methodname(Persistable p, int requestType, int
requestSource,String requestPriority, String requestSet, String repName, String repDescription)
Configure and Understand Dedicated Worker and Publisher Queues
Create filter to route jobs to dedicated Publisher Queue set
PublisherQueueSUPERL
PublisherQueueSUPERM
PublisherQueueSUPERH
PublisherQueueSUPER1
PROE Worker
PROE Worker
PROE Worker
FILT
ER
18
• 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 publishedint requestType is the publish job request typeint requestSource is the publish job request source String requestPriority is the priority specified on the requestString requestSet is the Publish Queue Set for the requestString repName is the passed Representation name String repDescription is the current Representation description
– Return String array with the following valuesReturn Array [0]: Publisher Queue Priority "H", "M" or "L"Return Array [1]: Publisher Queue SetReturn Array [2]: Representation name to createReturn Array [3]: Representation description to created
Configure and Understand Dedicated Worker and Publisher Queues
Create filter to route jobs to dedicated Publisher Queue set (cont.)
19
worker set: SUPER
worker set: DEFAULT
• Create custom method– public static String[ ] methodname(Persistable p, int requestType, int
requestSource,String requestPriority, String requestSet, String repName, String repDescription)
– Set wvs property to call method• publish.publishqueue.priorities.filtermethod=<Class>/<Method>• com.steelcase.wvs.server.filter.WindchillQueueSetFilter/SteelcaseQueueSetFilter
Configure and Understand Dedicated Worker and Publisher Queues
Configure Windchill to use filter method
PublisherQueueSUPERL
PublisherQueueSUPERM
PublisherQueueSUPERH
PublisherQueueSUPER1
PROE Worker
PROE Worker
PROE Worker
FILT
ER
20
FILT
ER
Configure and Understand Dedicated Worker and Publisher Queues
Final StatePublisherQueueL
PublisherQueueM
PublisherQueueH
PublisherQueue1
PublisherQueue2
PROE Worker
PROE Worker
PublisherQueueSUPERL
PublisherQueueSUPERM
PublisherQueueSUPERH
PublisherQueueSUPER1 PROE Worker
1234
1
3
4
2
56
6
21
• Threshold for assembly size– Available in our Java calls– No restart required
Configure and Understand Dedicated Worker and Publisher Queues
SUPER Queue Preference
22
• Step 1– Create rbinfo file to add strings for the preference names.
Configure and Understand Dedicated Worker and Publisher Queues
Adding A Preference
23
• Step 2– Create xml file to fully describe the preference definition.
Configure and Understand Dedicated Worker and Publisher Queues
Adding A Preference - continued
24
• 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.xml )
Configure and Understand Dedicated Worker and Publisher Queues
Adding A Preference - continued
25
• Windchill Visualization Services Guide
• Windchill Customization Guide
• Q1 FY13 Platinum Webcast - Dedicated WVS Publisher Queues & Workers
Configure and Understand Dedicated Worker and Publisher Queues
References
l iveglobal.ptc.com