SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
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

Mais conteúdo relacionado

Mais de DreamMalar (20)

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
 
Presentation1.PPTX
Presentation1.PPTXPresentation1.PPTX
Presentation1.PPTX
 
Presentation1.PPTX
Presentation1.PPTXPresentation1.PPTX
Presentation1.PPTX
 

Último

Último (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

pdf

  • 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