RED-9250: Do not run any scheduled jobs in parallel

This commit is contained in:
Dominique Eifländer 2024-06-11 10:40:21 +02:00
parent d0faf8a33d
commit 4451c07f02
8 changed files with 16 additions and 2 deletions

View File

@ -5,6 +5,7 @@ import static com.iqser.red.service.persistence.management.v1.processor.utils.Te
import java.time.OffsetDateTime;
import java.util.Set;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
@ -27,6 +28,7 @@ import lombok.extern.slf4j.Slf4j;
@Service
@RequiredArgsConstructor
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
@DisallowConcurrentExecution
/*
* This Job checks if there might be a change in the analysis flags and then schedules a flag calculation using a queue to balance the load.
*/ public class AnalysisFlagCalculationSchedulerJob implements Job {

View File

@ -6,6 +6,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.springframework.amqp.core.AmqpAdmin;
@ -29,6 +30,7 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
@Service
@RequiredArgsConstructor
@DisallowConcurrentExecution
public class AutomaticAnalysisJob implements Job {
private final AmqpAdmin amqpAdmin;

View File

@ -4,6 +4,7 @@ import java.time.OffsetDateTime;
import java.util.List;
import com.iqser.red.service.persistence.management.v1.processor.service.FileDeletionService;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.springframework.stereotype.Service;
@ -11,7 +12,6 @@ import org.springframework.stereotype.Service;
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity;
import com.iqser.red.service.persistence.management.v1.processor.service.ApplicationConfigService;
import com.iqser.red.service.persistence.management.v1.processor.service.DossierService;
import com.iqser.red.service.persistence.management.v1.processor.service.FileService;
import com.iqser.red.service.persistence.management.v1.processor.service.FileStatusService;
import com.iqser.red.service.persistence.management.v1.processor.utils.TenantUtils;
import com.knecon.fforesight.tenantcommons.TenantContext;
@ -23,11 +23,11 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
@RequiredArgsConstructor
@Service
@DisallowConcurrentExecution
public class DeletedFilesCleanupJob implements Job {
private final DossierService dossierService;
private final FileStatusService fileStatusService;
private final FileService fileService;
private final FileDeletionService fileDeletionService;
private final ApplicationConfigService applicationConfigService;
private final TenantProvider tenantProvider;

View File

@ -4,6 +4,7 @@ import java.time.OffsetDateTime;
import java.time.temporal.ChronoUnit;
import java.util.List;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.springframework.stereotype.Service;
@ -22,6 +23,7 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
@RequiredArgsConstructor
@Service
@DisallowConcurrentExecution
public class DownloadCleanupJob implements Job {
private final DownloadStatusPersistenceService downloadStatusPersistenceService;

View File

@ -12,6 +12,7 @@ import com.knecon.fforesight.tenantcommons.TenantProvider;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.springframework.stereotype.Service;
@ -19,6 +20,7 @@ import org.springframework.stereotype.Service;
@Slf4j
@RequiredArgsConstructor
@Service
@DisallowConcurrentExecution
public class DownloadReadyJob implements Job {
private final DownloadStatusPersistenceService downloadStatusPersistenceService;

View File

@ -1,5 +1,6 @@
package com.iqser.red.service.persistence.management.v1.processor.service.job;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
@ -13,6 +14,7 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
@Service
@RequiredArgsConstructor
@DisallowConcurrentExecution
public class KeyCloakUserSyncJob implements Job {
private final KeyCloakUserSyncService keyCloakUserSyncService;

View File

@ -4,6 +4,7 @@ import java.time.DayOfWeek;
import java.time.OffsetDateTime;
import java.time.temporal.ChronoUnit;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.springframework.stereotype.Service;
@ -22,6 +23,7 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
@RequiredArgsConstructor
@Service
@DisallowConcurrentExecution
public class SendNotificationEmailJob implements Job {
private final NotificationEmailService notificationEmailService;

View File

@ -2,6 +2,7 @@ package com.iqser.red.service.persistence.management.v1.processor.service.job;
import static com.iqser.red.service.persistence.management.v1.processor.utils.TenantUtils.isTenantReadyForPersistence;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
@ -17,6 +18,7 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
@Service
@RequiredArgsConstructor
@DisallowConcurrentExecution
public class SyncUserPermissionsJob implements Job {
private final CustomPermissionService customPermissionService;