in src/main/java/org/opensearch/jobscheduler/scheduler/JobScheduler.java [63:84]
public boolean schedule(String indexName, String docId, ScheduledJobParameter scheduledJobParameter,
ScheduledJobRunner jobRunner, JobDocVersion version, Double jitterLimit) {
if (!scheduledJobParameter.isEnabled()) {
return false;
}
log.info("Scheduling job id {} for index {} .", docId, indexName);
JobSchedulingInfo jobInfo;
synchronized (this.scheduledJobInfo.getJobsByIndex(indexName)) {
jobInfo = this.scheduledJobInfo.getJobInfo(indexName, docId);
if (jobInfo == null) {
jobInfo = new JobSchedulingInfo(indexName, docId, scheduledJobParameter);
this.scheduledJobInfo.addJob(indexName, docId, jobInfo);
}
if (jobInfo.getScheduledCancellable() != null) {
return true;
}
this.reschedule(scheduledJobParameter, jobInfo, jobRunner, version, jitterLimit);
}
return true;
}