How do we Schedule flows in Clustered OO set up ?

Hi All,

I have a query . We have implemented a solution for our customer where there are 14 scheduled flows in OO Central which will be running every 15 minutes, reading the patch schedules created in DB ,based on the schedule entries in DB the flow picks it up and patching is intiated . So as part of Dev and UAT set up of customer they have single node of OO running (10.80). But Prod is a 3 node cluster.

So my question is do we need to create schedules of 14 flows in all 3 nodes of OO or creating in any 1 node would reflect the schedules in other 2 ?

Has anyone come across this scenario or have created schedules in OO cluster

 

  • In v10 clustering - all nodes share the same db... the scheduler job store is stored in this shared db
    You do not need to schedule on each individual node - when you login to central on each node and navigate to the scheduler tab you should see the same jobs listed across all nodes.

  • Verified Answer

    Thanks for your reply Jarod :)

    Just want to be sure .Since all 3 nodes are pointing to the same DB ,is it a possibiltity that at any point in time if 2 nodes tries to read the DB and schedules the same flows twice at the same time ?

    For ex : If a flow named "test" is schedule to run every 15 mins ,but 10:15am since node A and node B tried to access the DB at the same time and triggers the schedule which means test flow runs twice at 10:15am

  • Hi,
    There is no risk to have duplicated triggering.
    No need to worry about this.
  • I made the following additional edits to the "engine-webapp-2018.05.0.32.jar" file in ("/tomcat/webapps/oo/WEB-INF/lib/") to the "quartzProperties" bean

    Changed: 
    <prop key="org.quartz.threadPool.threadCount">5</prop>    <!-- value updated to 15 -->
    <prop key="org.quartz.jobStore.misfireThreshold">60000</prop>  <!--value updated to 300000 -->
    <prop key="org.quartz.jobStore.clusterCheckinInterval">20000</prop>  <!-- value updated to 15000 -->
    Added:
    <prop key="org.quartz.jobStore.acquireTriggersWithinLock">true</prop>
    <prop key="org.quartz.jobStore.txIsolationLevelSerializable">true</prop>