SlideShare a Scribd company logo
Scheduler Architecture
   1. Deployment details :-
For a QA system the scheduler instance is running on DEV1 server box.

     ■ Deployment Path - /mnt1/scheduler/
     ■ Start script location - /mnt1/scheduler/bin/
     ■ Log File Configuration - /mnt1/scheduler/logconfig
     ■ Spring Configuration - /mnt1/scheduler/spring
     ■ Log File location - /mnt1/logs/scheduler2.0-global-logs.log
     ■ Quartz Database - All the Quartz related table are created under the following details.
             ● DB Host = DEV1
             ● DB Name = SCHEDULER_GRL:3306
             ● DB user = sprmys
             ● DB Password = R1k1rP5
             ● Quartz Tables = QRTZ*
     ■ Job Details Database - The configured jobs and the last run details are captured in the
        following tables
             ● DB Host = QA2
             ● DB Name = SPR_GRL
             ● SCHEDULABLE_JOB_TBL = configured jobs
             ● CLIENT_UNIVERSAL_PROFILE_EXPORT_TBL = details last successful runs.
     ■ Failure Details - At times the Scheduler, Job or the Trigger may fail, these details are captured
        in the mongo DB.
             ● Mongo Host = ec2-107-22-29-36.compute-1.amazonaws.com
             ● DB Name = SPR_GLOBAL
             ● Collection Names :-
                      ○ failedJobDetail - Captures the failed job details
                      ○ failedSchedulerDetail - Captures the failed scheduler details.
                      ○ triggerMissFireDetail - Captures the missed trigger details.
2. System Job Details :-
       Sprinklr has been pre-configured with system job which runs every 5 minutes to check
the “SCHEDULABLE_JOB_TBL” changes in the SPR_GRL database.

        If this time expression to run every five minutes needs to be changed the following entry needs to
be made in the “spring-quartz.xml” file (maked in bold). Adding the following entry would ensure that the
system job is scheduled to run every 20 mins as opposed to the 5 minutes it has been configured to run.
Restart the scheduler instance after the change has been made to reflect the same.

        <bean id="sprScheduler" class="com.spr.scheduler.QuartzSchedulerImpl">
            <property name="scheduler">
               <ref bean="schedulerFactoryBean"/>
            </property>
            <property name="jobBasePackageName">
               <value>com.spr.jobs</value>
            </property>
            <property name="overrideSystemJobMap">
               <map>
                 <entry key="com.spr.jobs.system.JobSchedulerJob">
                    <!-- scheduled the job to run once a century at every 20 mins -->
                    <value>* 0/20 * * * ?</value>
                 </entry>
               </map>
            </property>
            <ignored rest of the properties/>
3. Configurable Jobs :-
       The following list of Jobs can be configured in the scheduler.

       1. com.spr.jobs.export.twitter.ExportTwitterClientProfileToUniversalProfileJob

Exports the data from “PROFILE_TBL” based on the “MODIFIED_TM”, “CLIENT_ID”, “ACCOUNT_ID”
and the “PARTNER_ID” to then “universalProfile” collection.

       2. com.spr.jobs.export.twitter.ExportTwitterConversationToUniversalProfileJob

Exports the data from “ACCOUNT_TWEET_TBL” based on
the “CREATED_TM”, “CLIENT_ID”, “ACCOUNT_ID” and the “PARTNER_ID” to then “conversation”
collection.

       3. com.spr.jobs.export.twitter.ExportTwitterFollowerAndFollowingDetailsJob

Export the data from “ACCOUNT_FFUF_TBL” based on
the “MODIFIED_TM”, “CLIENT_ID”, “ACCOUNT_ID” and the “PARTNER_ID” to the “universalProfile”
collection.

       4. com.spr.jobs.export.facebook.ExportFacebookClientProfileToUniversalProfileJob

Export the data from “FB_PROFILE_TBL” based on the “MODIFIED_TM”, “CLIENT_ID”, “ACCOUNT_ID”
and the “PARTNER_ID” to the universalProfile” collection.

       5. com.spr.jobs.export.facebook.ExportFacebookCommentsToUniversalProfileJob

Exports the data from “FB_ACCOUNT_COMMENTS_TBL” based on
the “CREATED_TM”, “CLIENT_ID”, “ACCOUNT_ID” and the “PARTNER_ID” to the “conversation”
collection.

       6. com.spr.jobs.export.facebook.ExportFacebookConversationToUniversalProfileJob

Exports the data from “FB_INBOX_STREAM_TBL” based on
the “CREATED_TM”, “CLIENT_ID”, “ACCOUNT_ID” and the “PARTNER_ID” to the “conversation”
collection.
4. MySql Tables :-
●   SCHEDULABLE_JOB_TBL - This table captures the job which need to be scheduled
    in the scheduler. The JOB_CLASS, PARTNER_ID, CLIENT_ID and the CLIENT_ID form the
    uniqueness.
         ○ SCHEDULABLE_JOB_TBL_ID - The primary key
         ○ JOB_CLASS_NAME - The name of job class, as defined above. This is the business
             logic to executes.
         ○ PARTNER_ID - The Partner Id
         ○ CLIENT_ID - The Client Id
         ○ ACCOUNT_ID - The Account Id
         ○ JOB_DATA - Any additional data as a JSON string to be made available to job during its
             execution.
         ○ CRON_EXPRESSION - The Cron Expression which defines the run intervals.
         ○ IS_SCHEDULED - Boolean to define is the job is scheduled on the scheduler. This
             column is used by the System Job and is internal to the scheduler.
         ○ IS_ENABLED - if set to true, would enable the job in the scheduler to run on the
             scheduler cron time, if set to false, would disable the enabled job from the scheduler, and
             this job will not be qualified for any further runs.
         ○ CREATED_TM - The time at which this record was created
         ○ MODIFIED_TM - The time at which this record was updated.
         ○ DEL_FLG - If set to true, would delete the job from the scheduler along with its
             associated triggers. To qualify this job to run again set the flag to false.
         ○ SCHEDULE_KEY - The unique key which identifies the job. This column is used by the
             System Job and is internal to the scheduler.

●   CLIENT_UNIVERSAL_PROFILE_EXPORT_TBL - This table captures the last run
    details for the job configured. This table is internal to the jobs and should be used only for look-
    ups.
        ○ PARTNER_ID - The Partner id
        ○ CLIENT_ID - The Client Id
        ○ ACCOUNT_ID - The account Id
        ○ LAST_EXPORT_DATE - The date till which the job did its last export.
        ○ SN_TYPE - The Social Network Type
        ○ EXPORT_TYPE - The Export type, can be one of Profile, Conversation or Comment

More Related Content

PPT
PDF
MariaDB Temporal Tables
PDF
Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...
PDF
De que manera Aprender Ingles Veloz Y Simple
PPS
拙火瑜珈: 史上最奧秘的生命原能
PDF
Pleistersplakken
PDF
Reliably producing breakthroughs
PDF
Slidecast_Uniminuto
MariaDB Temporal Tables
Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...
De que manera Aprender Ingles Veloz Y Simple
拙火瑜珈: 史上最奧秘的生命原能
Pleistersplakken
Reliably producing breakthroughs
Slidecast_Uniminuto

Viewers also liked (20)

PDF
1 оферта продажа маслозавод4
PDF
EXPERIMENTAL INVESTIGATION ON THERMAL PERFORMANCE OF POROUS RADIANT BURNER AN...
PDF
國高中生成功學習的49個關鍵 內文試閱
PDF
Linda Davis Gallery
PDF
Historieta...
PPTX
Sesion 3
PPTX
Prezentacia vz
PPS
發掘內向孩子的優勢
PPT
this is test for download option
PPTX
Natal, o que comemorar?
ODP
Comenius. Humanism
PPT
O caipira e a calcinha!
PDF
A multi phase decision on reliability growth with latent failure modes
PDF
Formation of Glycerol from Biodiesel
PPT
Tutorial ms project portugues
PPSX
Saiba como instalar seu filtro para poços artesiano
PPTX
EJA abril 2016
PPTX
Gerenciamento de projetos
PDF
2013 asq field data analysis & statistical warranty forecasting
PPS
Teste a sua mente
1 оферта продажа маслозавод4
EXPERIMENTAL INVESTIGATION ON THERMAL PERFORMANCE OF POROUS RADIANT BURNER AN...
國高中生成功學習的49個關鍵 內文試閱
Linda Davis Gallery
Historieta...
Sesion 3
Prezentacia vz
發掘內向孩子的優勢
this is test for download option
Natal, o que comemorar?
Comenius. Humanism
O caipira e a calcinha!
A multi phase decision on reliability growth with latent failure modes
Formation of Glycerol from Biodiesel
Tutorial ms project portugues
Saiba como instalar seu filtro para poços artesiano
EJA abril 2016
Gerenciamento de projetos
2013 asq field data analysis & statistical warranty forecasting
Teste a sua mente
Ad

Similar to this is for approve- edited (20)

PPT
Les 17 sched
PPTX
Quartz Scheduler
PDF
Spark Job Server and Spark as a Query Engine (Spark Meetup 5/14)
PDF
Building data pipelines at Shopee with DEC
PDF
Day 1 Data Stage Administrator And Director 11.0
DOCX
PPTX
DDS_UI_WFs_13012022.pptx
PDF
Splunk conf2014 - Onboarding Data Into Splunk
PDF
Spark Summit 2014: Spark Job Server Talk
PDF
Ca 7 primer
PPTX
SBJUG - Building Beautiful Batch Jobs
PPTX
Software architecture for data applications
PDF
LeanXcale Presentation - Waterloo University
PDF
COScheduler
PDF
Schedulers
PPT
BATCH DATA COMMUNICATION
PDF
Balman stork cw09
PPTX
PayPal merchant ecosystem using Apache Spark, Hive, Druid, and HBase
PPTX
The End of a Myth: Ultra-Scalable Transactional Management
DOC
Les 17 sched
Quartz Scheduler
Spark Job Server and Spark as a Query Engine (Spark Meetup 5/14)
Building data pipelines at Shopee with DEC
Day 1 Data Stage Administrator And Director 11.0
DDS_UI_WFs_13012022.pptx
Splunk conf2014 - Onboarding Data Into Splunk
Spark Summit 2014: Spark Job Server Talk
Ca 7 primer
SBJUG - Building Beautiful Batch Jobs
Software architecture for data applications
LeanXcale Presentation - Waterloo University
COScheduler
Schedulers
BATCH DATA COMMUNICATION
Balman stork cw09
PayPal merchant ecosystem using Apache Spark, Hive, Druid, and HBase
The End of a Myth: Ultra-Scalable Transactional Management
Ad

More from DreamMalar (20)

TXT
PPTX
Latest PPT.pptx
PDF
example.pdf
PDF
example.pdf
RTF
RTF
PDF
example.pdf
PPT
LAtest Doc
PPTX
Presentation1.PPTX
PPTX
Presentation1.PPTX
PPTX
Presentation1.PPTX
PPTX
Presentation1.PPTX
PPT
NetworkSecurity.ppt
TXT
newdocument.txt
PPT
Sample.ppt
PPT
not from widget
DOCX
Document.docx.docx
PPTX
content list check
PDF
PDF2.pdf
PDF
1934015245 Software TestingA.pdf
Latest PPT.pptx
example.pdf
example.pdf
example.pdf
LAtest Doc
Presentation1.PPTX
Presentation1.PPTX
Presentation1.PPTX
Presentation1.PPTX
NetworkSecurity.ppt
newdocument.txt
Sample.ppt
not from widget
Document.docx.docx
content list check
PDF2.pdf
1934015245 Software TestingA.pdf

this is for approve- edited

  • 1. Scheduler Architecture 1. Deployment details :- For a QA system the scheduler instance is running on DEV1 server box. ■ Deployment Path - /mnt1/scheduler/ ■ Start script location - /mnt1/scheduler/bin/ ■ Log File Configuration - /mnt1/scheduler/logconfig ■ Spring Configuration - /mnt1/scheduler/spring ■ Log File location - /mnt1/logs/scheduler2.0-global-logs.log ■ Quartz Database - All the Quartz related table are created under the following details. ● DB Host = DEV1 ● DB Name = SCHEDULER_GRL:3306 ● DB user = sprmys ● DB Password = R1k1rP5 ● Quartz Tables = QRTZ* ■ Job Details Database - The configured jobs and the last run details are captured in the following tables ● DB Host = QA2 ● DB Name = SPR_GRL ● SCHEDULABLE_JOB_TBL = configured jobs ● CLIENT_UNIVERSAL_PROFILE_EXPORT_TBL = details last successful runs. ■ Failure Details - At times the Scheduler, Job or the Trigger may fail, these details are captured in the mongo DB. ● Mongo Host = ec2-107-22-29-36.compute-1.amazonaws.com ● DB Name = SPR_GLOBAL ● Collection Names :- ○ failedJobDetail - Captures the failed job details ○ failedSchedulerDetail - Captures the failed scheduler details. ○ triggerMissFireDetail - Captures the missed trigger details.
  • 2. 2. System Job Details :- Sprinklr has been pre-configured with system job which runs every 5 minutes to check the “SCHEDULABLE_JOB_TBL” changes in the SPR_GRL database. If this time expression to run every five minutes needs to be changed the following entry needs to be made in the “spring-quartz.xml” file (maked in bold). Adding the following entry would ensure that the system job is scheduled to run every 20 mins as opposed to the 5 minutes it has been configured to run. Restart the scheduler instance after the change has been made to reflect the same. <bean id="sprScheduler" class="com.spr.scheduler.QuartzSchedulerImpl"> <property name="scheduler"> <ref bean="schedulerFactoryBean"/> </property> <property name="jobBasePackageName"> <value>com.spr.jobs</value> </property> <property name="overrideSystemJobMap"> <map> <entry key="com.spr.jobs.system.JobSchedulerJob"> <!-- scheduled the job to run once a century at every 20 mins --> <value>* 0/20 * * * ?</value> </entry> </map> </property> <ignored rest of the properties/>
  • 3. 3. Configurable Jobs :- The following list of Jobs can be configured in the scheduler. 1. com.spr.jobs.export.twitter.ExportTwitterClientProfileToUniversalProfileJob Exports the data from “PROFILE_TBL” based on the “MODIFIED_TM”, “CLIENT_ID”, “ACCOUNT_ID” and the “PARTNER_ID” to then “universalProfile” collection. 2. com.spr.jobs.export.twitter.ExportTwitterConversationToUniversalProfileJob Exports the data from “ACCOUNT_TWEET_TBL” based on the “CREATED_TM”, “CLIENT_ID”, “ACCOUNT_ID” and the “PARTNER_ID” to then “conversation” collection. 3. com.spr.jobs.export.twitter.ExportTwitterFollowerAndFollowingDetailsJob Export the data from “ACCOUNT_FFUF_TBL” based on the “MODIFIED_TM”, “CLIENT_ID”, “ACCOUNT_ID” and the “PARTNER_ID” to the “universalProfile” collection. 4. com.spr.jobs.export.facebook.ExportFacebookClientProfileToUniversalProfileJob Export the data from “FB_PROFILE_TBL” based on the “MODIFIED_TM”, “CLIENT_ID”, “ACCOUNT_ID” and the “PARTNER_ID” to the universalProfile” collection. 5. com.spr.jobs.export.facebook.ExportFacebookCommentsToUniversalProfileJob Exports the data from “FB_ACCOUNT_COMMENTS_TBL” based on the “CREATED_TM”, “CLIENT_ID”, “ACCOUNT_ID” and the “PARTNER_ID” to the “conversation” collection. 6. com.spr.jobs.export.facebook.ExportFacebookConversationToUniversalProfileJob Exports the data from “FB_INBOX_STREAM_TBL” based on the “CREATED_TM”, “CLIENT_ID”, “ACCOUNT_ID” and the “PARTNER_ID” to the “conversation” collection.
  • 4. 4. MySql Tables :- ● SCHEDULABLE_JOB_TBL - This table captures the job which need to be scheduled in the scheduler. The JOB_CLASS, PARTNER_ID, CLIENT_ID and the CLIENT_ID form the uniqueness. ○ SCHEDULABLE_JOB_TBL_ID - The primary key ○ JOB_CLASS_NAME - The name of job class, as defined above. This is the business logic to executes. ○ PARTNER_ID - The Partner Id ○ CLIENT_ID - The Client Id ○ ACCOUNT_ID - The Account Id ○ JOB_DATA - Any additional data as a JSON string to be made available to job during its execution. ○ CRON_EXPRESSION - The Cron Expression which defines the run intervals. ○ IS_SCHEDULED - Boolean to define is the job is scheduled on the scheduler. This column is used by the System Job and is internal to the scheduler. ○ IS_ENABLED - if set to true, would enable the job in the scheduler to run on the scheduler cron time, if set to false, would disable the enabled job from the scheduler, and this job will not be qualified for any further runs. ○ CREATED_TM - The time at which this record was created ○ MODIFIED_TM - The time at which this record was updated. ○ DEL_FLG - If set to true, would delete the job from the scheduler along with its associated triggers. To qualify this job to run again set the flag to false. ○ SCHEDULE_KEY - The unique key which identifies the job. This column is used by the System Job and is internal to the scheduler. ● CLIENT_UNIVERSAL_PROFILE_EXPORT_TBL - This table captures the last run details for the job configured. This table is internal to the jobs and should be used only for look- ups. ○ PARTNER_ID - The Partner id ○ CLIENT_ID - The Client Id ○ ACCOUNT_ID - The account Id ○ LAST_EXPORT_DATE - The date till which the job did its last export. ○ SN_TYPE - The Social Network Type ○ EXPORT_TYPE - The Export type, can be one of Profile, Conversation or Comment