SlideShare ist ein Scribd-Unternehmen logo
1 von 4
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

Weitere ähnliche Inhalte

Andere mochten auch

Base Profile
Base ProfileBase Profile
Base Profile
RK Singh
 
NetworkSecurity.ppt
NetworkSecurity.pptNetworkSecurity.ppt
NetworkSecurity.ppt
DreamMalar
 
From national standards to planning a lessons
From national standards to planning a lessonsFrom national standards to planning a lessons
From national standards to planning a lessons
Lucila Lopez
 
1 3 котельная
1 3 котельная1 3 котельная
1 3 котельная
MichaelMir
 
Regulamento do curso educação inclusiva avancos e desafios (1)
Regulamento do curso educação inclusiva avancos e desafios (1)Regulamento do curso educação inclusiva avancos e desafios (1)
Regulamento do curso educação inclusiva avancos e desafios (1)
Jeca Tatu
 
小心,別讓思考抄捷徑!
小心,別讓思考抄捷徑!小心,別讓思考抄捷徑!
小心,別讓思考抄捷徑!
azothbooks
 
об иепархии
об иепархииоб иепархии
об иепархии
MichaelMir
 

Andere mochten auch (20)

El plagio
El plagioEl plagio
El plagio
 
Imagens curiosas
Imagens curiosasImagens curiosas
Imagens curiosas
 
Base Profile
Base ProfileBase Profile
Base Profile
 
NetworkSecurity.ppt
NetworkSecurity.pptNetworkSecurity.ppt
NetworkSecurity.ppt
 
CHARACTERIZATION AND EMISSION ANALYSIS OF PREMIXED AND PREHEATED POROUS RADIA...
CHARACTERIZATION AND EMISSION ANALYSIS OF PREMIXED AND PREHEATED POROUS RADIA...CHARACTERIZATION AND EMISSION ANALYSIS OF PREMIXED AND PREHEATED POROUS RADIA...
CHARACTERIZATION AND EMISSION ANALYSIS OF PREMIXED AND PREHEATED POROUS RADIA...
 
храм3
храм3храм3
храм3
 
La impresora
La  impresoraLa  impresora
La impresora
 
From national standards to planning a lessons
From national standards to planning a lessonsFrom national standards to planning a lessons
From national standards to planning a lessons
 
Why us
Why usWhy us
Why us
 
1 3 котельная
1 3 котельная1 3 котельная
1 3 котельная
 
Regulamento do curso educação inclusiva avancos e desafios (1)
Regulamento do curso educação inclusiva avancos e desafios (1)Regulamento do curso educação inclusiva avancos e desafios (1)
Regulamento do curso educação inclusiva avancos e desafios (1)
 
A Arte de Enganar Homens e Mulheres
A Arte de Enganar Homens e MulheresA Arte de Enganar Homens e Mulheres
A Arte de Enganar Homens e Mulheres
 
【Ac07407】河畔小頑童-馬克.吐溫
【Ac07407】河畔小頑童-馬克.吐溫 【Ac07407】河畔小頑童-馬克.吐溫
【Ac07407】河畔小頑童-馬克.吐溫
 
小心,別讓思考抄捷徑!
小心,別讓思考抄捷徑!小心,別讓思考抄捷徑!
小心,別讓思考抄捷徑!
 
趕屍客棧:洞女拜月
趕屍客棧:洞女拜月趕屍客棧:洞女拜月
趕屍客棧:洞女拜月
 
об иепархии
об иепархииоб иепархии
об иепархии
 
Propensity score matching overview
Propensity score matching overviewPropensity score matching overview
Propensity score matching overview
 
Introdução ao mundo das cervejas 02
Introdução ao mundo das cervejas 02Introdução ao mundo das cervejas 02
Introdução ao mundo das cervejas 02
 
Sample size issues on reliability test design
Sample size issues on reliability test designSample size issues on reliability test design
Sample size issues on reliability test design
 
7. air pollution control
7. air pollution control7. air pollution control
7. air pollution control
 

Ähnlich wie ttfhy

Keith Fiske - When PostgreSQL Can't, You Can @ Postgres Open
Keith Fiske - When PostgreSQL Can't, You Can @ Postgres OpenKeith Fiske - When PostgreSQL Can't, You Can @ Postgres Open
Keith Fiske - When PostgreSQL Can't, You Can @ Postgres Open
PostgresOpen
 

Ähnlich wie ttfhy (20)

Oracle SQL Tuning
Oracle SQL TuningOracle SQL Tuning
Oracle SQL Tuning
 
Keith Fiske - When PostgreSQL Can't, You Can @ Postgres Open
Keith Fiske - When PostgreSQL Can't, You Can @ Postgres OpenKeith Fiske - When PostgreSQL Can't, You Can @ Postgres Open
Keith Fiske - When PostgreSQL Can't, You Can @ Postgres Open
 
Efficient Monitoring & Tuning of Dynamic SQL in DB2 for z/OS by Namik Hrle ...
Efficient Monitoring & Tuning of Dynamic SQL in DB2 for z/OS  by  Namik Hrle ...Efficient Monitoring & Tuning of Dynamic SQL in DB2 for z/OS  by  Namik Hrle ...
Efficient Monitoring & Tuning of Dynamic SQL in DB2 for z/OS by Namik Hrle ...
 
Les 17 sched
Les 17 schedLes 17 sched
Les 17 sched
 
IBM Connections 4.5 bidirectional synchronization
IBM Connections 4.5 bidirectional synchronizationIBM Connections 4.5 bidirectional synchronization
IBM Connections 4.5 bidirectional synchronization
 
query_tuning.pdf
query_tuning.pdfquery_tuning.pdf
query_tuning.pdf
 
PostgreSQL 9.5 - Major Features
PostgreSQL 9.5 - Major FeaturesPostgreSQL 9.5 - Major Features
PostgreSQL 9.5 - Major Features
 
2013 Collaborate - OAUG - Presentation
2013 Collaborate - OAUG - Presentation2013 Collaborate - OAUG - Presentation
2013 Collaborate - OAUG - Presentation
 
MariaDB 10.4 New Features
MariaDB 10.4 New FeaturesMariaDB 10.4 New Features
MariaDB 10.4 New Features
 
Subscribed zuora forsalesforce training -section301-final
Subscribed zuora forsalesforce training -section301-finalSubscribed zuora forsalesforce training -section301-final
Subscribed zuora forsalesforce training -section301-final
 
Skillwise JCL
Skillwise JCLSkillwise JCL
Skillwise JCL
 
2011 Collaborate IOUG Presentation
2011 Collaborate IOUG Presentation2011 Collaborate IOUG Presentation
2011 Collaborate IOUG Presentation
 
Sap hr-programming
Sap hr-programmingSap hr-programming
Sap hr-programming
 
Oracle plsql and d2 k interview question1
Oracle plsql and d2 k interview question1Oracle plsql and d2 k interview question1
Oracle plsql and d2 k interview question1
 
Android Lollipop internals and inferiority complex droidcon.hr 2015
Android Lollipop internals and inferiority complex droidcon.hr 2015 Android Lollipop internals and inferiority complex droidcon.hr 2015
Android Lollipop internals and inferiority complex droidcon.hr 2015
 
Peeking into the Black Hole Called PL/PGSQL - the New PL Profiler / Jan Wieck...
Peeking into the Black Hole Called PL/PGSQL - the New PL Profiler / Jan Wieck...Peeking into the Black Hole Called PL/PGSQL - the New PL Profiler / Jan Wieck...
Peeking into the Black Hole Called PL/PGSQL - the New PL Profiler / Jan Wieck...
 
DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2
 
DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2DBA Commands and Concepts That Every Developer Should Know - Part 2
DBA Commands and Concepts That Every Developer Should Know - Part 2
 
(2) cpp abstractions abstraction_and_encapsulation
(2) cpp abstractions abstraction_and_encapsulation(2) cpp abstractions abstraction_and_encapsulation
(2) cpp abstractions abstraction_and_encapsulation
 
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
What's New in MariaDB Server 10.2 and MariaDB MaxScale 2.1
 

Mehr von DreamMalar (20)

AQ
AQAQ
AQ
 
Latest PPT.pptx
Latest PPT.pptxLatest PPT.pptx
Latest PPT.pptx
 
example.pdf
example.pdfexample.pdf
example.pdf
 
example.pdf
example.pdfexample.pdf
example.pdf
 
tag
tagtag
tag
 
tag
tagtag
tag
 
example.pdf
example.pdfexample.pdf
example.pdf
 
LAtest Doc
LAtest DocLAtest Doc
LAtest Doc
 
Presentation1.PPTX
Presentation1.PPTXPresentation1.PPTX
Presentation1.PPTX
 
Presentation1.PPTX
Presentation1.PPTXPresentation1.PPTX
Presentation1.PPTX
 
Presentation1.PPTX
Presentation1.PPTXPresentation1.PPTX
Presentation1.PPTX
 
Presentation1.PPTX
Presentation1.PPTXPresentation1.PPTX
Presentation1.PPTX
 
NetworkSecurity.ppt
NetworkSecurity.pptNetworkSecurity.ppt
NetworkSecurity.ppt
 
newdocument.txt
newdocument.txtnewdocument.txt
newdocument.txt
 
Sample.ppt
Sample.pptSample.ppt
Sample.ppt
 
not from widget
not from widgetnot from widget
not from widget
 
Document.docx.docx
Document.docx.docxDocument.docx.docx
Document.docx.docx
 
content list check
content list checkcontent list check
content list check
 
PDF2.pdf
PDF2.pdfPDF2.pdf
PDF2.pdf
 
1934015245 Software TestingA.pdf
1934015245 Software TestingA.pdf1934015245 Software TestingA.pdf
1934015245 Software TestingA.pdf
 

ttfhy

  • 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