Specialized Administration > Site Maintenance > Queue Management > Understanding Background Queues > Workflow Queue Tuning > Queue Pooling
  
Queue Pooling
There are two Windchill queues that are used primarily for processing workflow tasks:
WfUserWorkQueue for processing tasks related to workflow robots
WfPropagationQueue for processing tasks related to workflow propagation
Queue pooling sets up a pool of WfUserWorkQueue and WfPropagationQueue queues. The pools for these queues can be set through the following properties in wt.properties. The default value for these properties is 1.
wt.workflow.engine.userWorkPoolSize
wt.workflow.engine.propagationPoolSize
The total number of process queues (WfUserWorkQueue and WfPropagationQueue are process queues) that Windchill has should not exceed the hard value defined in the following property:
wt.queue.max.processQueues
If this queue limit is reached, any process that tries to create a new queue will throw an exception and fail to start. Adhering to this hard limit is very important.
The WfPropagationQueue queues in the pool are named WfSharedPropagationQueue<n> and WfUserWorkQueue queues in the pool are named WfSharedUserQueue<n>, where n starts at 1 and increments by 1 for each additional queue.
Once the queue pools are defined, tasks are put into these queues in a circular manner, starting with the first and continuing through the queue and then starting over with the first again.
* 
Keep in mind the capacity of the server on which Windchill is running while configuring these queue pools. If the server is bogged down and cannot handle more threads, adding more queues will not improve performance.