0
JMS 대기열에서 작업하고 있습니다. 내 요구 사항은 큐 크기를 모니터링하고 큐에 메시지가 없으면 전자 메일을 보내는 것입니다. Cronjob 작업은 큐를 모니터링하고 큐의 첫 번째 메시지에서 트리거됩니다. 다음은 작업을 실행하는 코드입니다.Hybris cronjob - 실행하지 않을 경우 cronjob을 시작하십시오.
CronJobModel CronJobModel = new CronJobModel();
CronJobModel.setCode("Job1");
CronJobModel = flexibleSearchService
.getModelByExample(CronJobModel);
modelService.save(CronJobModel);
LOG.debug(" Check and start job");
if (!cronJobService.isRunning(CronJobModel)) {
LOG.info("Job initiated on first message in the Queue. ");
cronJobService.performCronJob(CronJobModel);
LOG.info("Job status::" + cronJobService.isRunning(CronJobModel));
}
콘솔 출력
작업 대기열에서 첫번째 메시지에 대해 개시.
작업 상태 : 작업이 한 번 이상 트리거 결과
거짓. 왜 cronjob가 시작되지 않고 즉시 실행 상태로 변경 되었습니까? 작업이 트리거되었는지 식별하고 다시 트리거하지 않도록하는 더 좋은 방법이 있습니까?