300 likes | 555 Views
Configure and Understand Dedicated Worker and Publisher Queues. James Kerkstra. Jamie Lynn Momber. Sr. Application Engineer/Windchill System Administrator. Tuesday, June 11, 2013. Application Engineer/Windchill System Administrator.
E N D
Configure and Understand Dedicated Worker and Publisher Queues James Kerkstra Jamie Lynn Momber Sr. Application Engineer/Windchill System Administrator Tuesday, June 11, 2013 Application Engineer/Windchill System Administrator
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
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
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
Configure and Understand Dedicated Worker and Publisher Queues Out of the Box Publishing PublisherQueueL PROE Worker PublisherQueue1 PublisherQueueM PublisherQueue2 PROE Worker PublisherQueueH 1 2 6 4 2 5 1 6 3 3
Configure and Understand Dedicated Worker and Publisher Queues Problem1: Not so Instant Gratification PublisherQueueL PROE Worker PublisherQueue1 PublisherQueueM PublisherQueue2 PROE Worker PublisherQueueH 6 2 1 2 3 4 5 1
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.
Configure and Understand Dedicated Worker and Publisher Queues Setting Timeout in CADWorker Recipe File
Configure and Understand Dedicated Worker and Publisher Queues Problem 3: Large Assembly Mess! 15 minute timeout + Large Assembly SAD, DISTRUSTING USERS
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 • 3 • gerbils • 12 minutes • CADWorkers • ~11 hours
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
Configure and Understand Dedicated Worker and Publisher Queues Solution in Motion PublisherQueueL PROE Worker PublisherQueue1 PublisherQueueM PublisherQueue2 PROE Worker PublisherQueueH FILTER PublisherQueueSUPERL PublisherQueueSUPERM PublisherQueueSUPER1 PROE Worker PublisherQueueSUPERH 1 2 3 4 1 3 4 2 5 6 6
Configure and Understand Dedicated Worker and Publisher Queues DIY Publisher Configuration • Create a dedicated Publisher Queue set • Create Worker set • Map worker sets to Publisher Queue sets • Create filter to route jobs to dedicated Publisher Queue set • Configure Windchill to use filter method • Add a site level preference (optional)
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 PublisherQueueL PROE Worker PublisherQueue1 PublisherQueueM PublisherQueue2 PROE Worker PublisherQueueH FILTER PublisherQueueSUPERL PublisherQueueSUPERM PublisherQueueSUPER1 PROE Worker PublisherQueueSUPERH
Worker Set Logical grouping of workers Add queueset property in agent.ini file Configure and Understand Dedicated Worker and Publisher Queues Create Worker Set worker set: DEFAULT PROE Worker PROE Worker PublisherQueueSUPERL PublisherQueueSUPERM PublisherQueueSUPER1 PROE Worker PublisherQueueSUPERH worker set: SUPER
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; } Configure and Understand Dedicated Worker and Publisher Queues Map worker sets to Publisher Queue sets worker set: DEFAULT PROE Worker PROE Worker FILTER PublisherQueueSUPERL PublisherQueueSUPERM PublisherQueueSUPER1 PROE Worker PublisherQueueSUPERH worker set: SUPER
Configure and Understand Dedicated Worker and Publisher Queues Create filter to route jobs to dedicated Publisher Queue set worker set: DEFAULT • Create custom method • public static String[ ] methodname(Persistable p, intrequestType, intrequestSource,StringrequestPriority, String requestSet, String repName, String repDescription) PROE Worker PROE Worker FILTER PublisherQueueSUPERL PublisherQueueSUPERM PublisherQueueSUPER1 PROE Worker PublisherQueueSUPERH worker set: SUPER
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, intrequestType, intrequestSource,StringrequestPriority, String requestSet, String repName, String repDescription) Persistable p is the object being published intrequestTypeis the publish job request type intrequestSourceis the publish job request source String requestPriorityis the priority specified on the request String requestSetis the Publish Queue Set for the request String repNameis the passed Representation name String repDescriptionis 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
Configure and Understand Dedicated Worker and Publisher Queues Configure Windchill to use filter method worker set: DEFAULT • Create custom method • public static String[ ] methodname(Persistable p, intrequestType, intrequestSource,StringrequestPriority, 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 PROE Worker PROE Worker FILTER PublisherQueueSUPERL PublisherQueueSUPERM PublisherQueueSUPER1 PROE Worker PublisherQueueSUPERH worker set: SUPER
Configure and Understand Dedicated Worker and Publisher Queues Final State PublisherQueueL PROE Worker PublisherQueue1 PublisherQueueM PublisherQueue2 PROE Worker PublisherQueueH FILTER PublisherQueueSUPERL PublisherQueueSUPERM PublisherQueueSUPER1 PROE Worker PublisherQueueSUPERH 1 2 3 4 1 3 4 2 5 6 6
Configure and Understand Dedicated Worker and Publisher Queues SUPER Queue Preference • Threshold for assembly size • Available in our Java calls • No restart required
Configure and Understand Dedicated Worker and Publisher Queues Adding A Preference • Step 1 • Create rbinfo file to add strings for the preference names.
Configure and Understand Dedicated Worker and Publisher Queues Adding A Preference - continued • Step 2 • Create xml file to fully describe the preference definition.
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 • windchillwt.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 References • Windchill Visualization Services Guide • Windchill Customization Guide • Q1 FY13 Platinum Webcast - Dedicated WVS Publisher Queues & Workers