Change the Scheduler Used by a Publishing Hub

Please note: The content on this page applies to versions of CM System greater than 7.0.

Overview

It is occasionally desirable to have one or more Publishing Hubs in a publishing cluster operate outside of the cluster utilizing their own schedule. This is useful for example, when dedicating a specific hub to one or more specific jobs. 

Steps

To configure a publishing hub to use a different scheduler than the main cluster:

1. In the CM System root for one of the publishing hubs, go to:

 CM System root/AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/config/spring/server-beans.xml

2. Scroll down to the service configuration bean, which should appear as:

<bean
class="com.percussion.services.utils.general.PSServiceConfigurationBean"
id="sys_beanConfiguration">
<!-- Properties that can be set here:
(defaults to 0.
It is the max number of content nodes cached
by the assembly service)
<property name="maxCachedContentNodeSize" value="0"/>
(defaults to 600 minutes or 10 hours.
It is the timeout that a publishing job to
wait for the job specific status updates from the processed publishing work)
<property name="publishJobTimeout" value="600"/>
(defaults to 10 minutes
It is the timeout that a publishing job to
wait for the notification of any publishing job status updates (from the
queue). This is acting like a heartbeat of the publishing queue.
<property name="publishQueueTimeout" value="10"/>
-->

<property name="quartzProperties">
<props>
<!-- The properties specified here will
override the properties defined
in the 'quartzProperties' property of
the 'sys_quartzScheduler' bean
found in beans.xml.
-->
<prop key="org.quartz.jobStore.isClustered">true</prop>
<prop
key="org.quartz.scheduler.instanceName">PublishingHub</prop>
</props>
</property>
</bean>

3. in the property <property name="quartzProperties"> go to the line:

 <prop key="org.quartz.scheduler.instanceName">PublishingHub</prop> 

The value of org.quartz.scheduler.instanceName is the name of the scheduler. Publishing hubs must use the same scheduler (have the same scheduler instance name) to be clustered.

4. Change the value of org.quartz.scheduler.instanceName to any name other than PublishingHub.  This name will show up in the Scheduler UI.

The line should now appear similar to:
<prop key="org.quartz.scheduler.instanceName">PubHub2</prop>

5.   Save the file and restart the server.

6.  Open the Content Explorer Admin tab for this server and go to the Scheduled Tasks page.

7.  Add a scheduled publishing task. For help see the topic Creating a Scheduled Task in the help available from the Rhythmyx Admin tab.

8.  Start the other servers if they are not already started, and open the Content Explorer Admin tab. Go to the Scheduled Tasks page on each server.

The System Master scheduler will remain listed as SystemMaster, and any unmodified Publishing Hubs will use the default PublishingHubscheduler. The modified Publishing Hub will now use it's own schedule.

For example:

 System MasterDefault Pub hubStandalone Pub Hub