pipeline orchestrator [2]

This commit is contained in:
ialbert 2025-12-02 14:53:42 +03:00
parent f2f7cfd5a1
commit 90259217b4
5 changed files with 48 additions and 63 deletions

View file

@ -7,7 +7,6 @@ import java.nio.file.Path;
import java.nio.file.StandardCopyOption; import java.nio.file.StandardCopyOption;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -41,7 +40,8 @@ import ru.nbch.credit_tracker.service.UserPackageService;
import ru.nbch.credit_tracker.service.scoring.AuthorizationService; import ru.nbch.credit_tracker.service.scoring.AuthorizationService;
import ru.nbch.credit_tracker.service.signal.SignalRestService; import ru.nbch.credit_tracker.service.signal.SignalRestService;
import ru.nbch.credit_tracker.service.task.Pipeline; import ru.nbch.credit_tracker.service.task.Pipeline;
import ru.nbch.credit_tracker.service.task.PipelinePackageManager; import ru.nbch.credit_tracker.service.task.PipelinePackageFabric;
import ru.nbch.credit_tracker.service.task.PipelinePackageOrchestrator;
import ru.nbch.credit_tracker.service.task.SetupParam; import ru.nbch.credit_tracker.service.task.SetupParam;
import ru.nbch.credit_tracker.service.task.impl.PipelineMode; import ru.nbch.credit_tracker.service.task.impl.PipelineMode;
import ru.nbch.credit_tracker.service.task.impl.Saver; import ru.nbch.credit_tracker.service.task.impl.Saver;
@ -50,7 +50,6 @@ import ru.nbch.credit_tracker.utils.CtFileUtils;
import ru.nbch.credit_tracker.utils.EnumUtil; import ru.nbch.credit_tracker.utils.EnumUtil;
import ru.nbch.credit_tracker.utils.LogUtil; import ru.nbch.credit_tracker.utils.LogUtil;
import ru.nbch.credit_tracker.utils.ZipUtils; import ru.nbch.credit_tracker.utils.ZipUtils;
import ru.nbch.credit_tracker.utils.error.ExceptionUtils;
import static ru.nbch.credit_tracker.utils.error.ExceptionUtils.clientExcp; import static ru.nbch.credit_tracker.utils.error.ExceptionUtils.clientExcp;
import static ru.nbch.credit_tracker.utils.error.ExceptionUtils.serverExcp; import static ru.nbch.credit_tracker.utils.error.ExceptionUtils.serverExcp;
@ -62,21 +61,22 @@ public class SignalFacadeV3 {
private final CreditTrackerSettings config; private final CreditTrackerSettings config;
private final UserPackageService userPackageService; private final UserPackageService userPackageService;
private final AuthorizationService authorizationService; private final AuthorizationService authorizationService;
private final PipelinePackageManager pipelinePackageManager; private final PipelinePackageFabric pipelinePackageManager;
private final SignalRestService signalRestService; private final SignalRestService signalRestService;
private final Saver saver; private final Saver saver;
private final ExecutorService pipelineExecutorService; private final ExecutorService pipelineExecutorService;
private final ExecutorService saverExecutorService; private final ExecutorService saverExecutorService;
private final PipelinePackageOrchestrator pipelineOrchestrator;
public SignalFacadeV3(MonitoringRequestValidator monitoringRequestValidator, public SignalFacadeV3(MonitoringRequestValidator monitoringRequestValidator,
CreditTrackerSettings config, CreditTrackerSettings config,
UserPackageService userPackageService, UserPackageService userPackageService,
AuthorizationService authorizationService, AuthorizationService authorizationService,
PipelinePackageManager pipelinePackageManager, PipelinePackageFabric pipelinePackageManager,
SignalRestService signalRestService, SignalRestService signalRestService,
Saver saver, Saver saver,
ExecutorService pipelineExecutorService, ExecutorService pipelineExecutorService,
ExecutorService saverExecutorService) { ExecutorService saverExecutorService, PipelinePackageOrchestrator pipelineOrchestrator) {
this.monitoringRequestValidator = monitoringRequestValidator; this.monitoringRequestValidator = monitoringRequestValidator;
this.config = config; this.config = config;
this.userPackageService = userPackageService; this.userPackageService = userPackageService;
@ -86,6 +86,7 @@ public class SignalFacadeV3 {
this.saverExecutorService = saverExecutorService; this.saverExecutorService = saverExecutorService;
this.pipelineExecutorService = pipelineExecutorService; this.pipelineExecutorService = pipelineExecutorService;
this.saver = saver; this.saver = saver;
this.pipelineOrchestrator = pipelineOrchestrator;
} }
public void setupMonitoringRequest(MultipartFile file) { public void setupMonitoringRequest(MultipartFile file) {
@ -150,18 +151,11 @@ public class SignalFacadeV3 {
Long packageId = userPackageService.registerPackage(userId, packageName); Long packageId = userPackageService.registerPackage(userId, packageName);
LogUtil.addMdcLogKey("%s %d".formatted(packageName, packageId)); LogUtil.addMdcLogKey("%s %d".formatted(packageName, packageId));
log.info("Package registered. PackageId {}. Status: {}", packageId, Status.ACCEPTED.name()); log.info("Package registered. PackageId {}. Status: {}", packageId, Status.ACCEPTED.name());
Pipeline pipeline = pipelinePackageManager.buildAndRun(new SetupParam(packageId, parsedFilePath, PipelineMode.DEFAULT)); Pipeline pipeline = pipelinePackageManager.build(new SetupParam(packageId, parsedFilePath, PipelineMode.DEFAULT));
CompletableFuture pipelineOrchestrator.startOrDelay(() -> {
.runAsync(() -> {
try {
saver.readAndSave(packageId, parsedFilePath); saver.readAndSave(packageId, parsedFilePath);
CtFileUtils.deleteQuietly(parsedFilePath); CtFileUtils.deleteQuietly(parsedFilePath);
} catch (Throwable t) { }, pipeline, packageId);
log.error(ExceptionUtils.getStackTrace(t));
pipeline.close();
}
}, saverExecutorService)
.thenRun(() -> pipeline.start(pipelineExecutorService));
} catch (Exception e) { } catch (Exception e) {
try { try {
Files.delete(parsedFilePath); Files.delete(parsedFilePath);

View file

@ -2,7 +2,6 @@ package ru.nbch.credit_tracker.service;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.List; import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.context.annotation.EnableAspectJAutoProxy;
@ -13,7 +12,8 @@ import ru.nbch.credit_tracker.enums.Status;
import ru.nbch.credit_tracker.mapper.signal.PhoneFidMapMapper; import ru.nbch.credit_tracker.mapper.signal.PhoneFidMapMapper;
import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper; import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper;
import ru.nbch.credit_tracker.service.task.Pipeline; import ru.nbch.credit_tracker.service.task.Pipeline;
import ru.nbch.credit_tracker.service.task.PipelinePackageManager; import ru.nbch.credit_tracker.service.task.PipelinePackageFabric;
import ru.nbch.credit_tracker.service.task.PipelinePackageOrchestrator;
import ru.nbch.credit_tracker.service.task.SetupParam; import ru.nbch.credit_tracker.service.task.SetupParam;
import ru.nbch.credit_tracker.service.task.impl.PipelineMode; import ru.nbch.credit_tracker.service.task.impl.PipelineMode;
import ru.nbch.credit_tracker.service.task.impl.Saver; import ru.nbch.credit_tracker.service.task.impl.Saver;
@ -31,7 +31,8 @@ public class UpdateProcessingPackagesService {
private final UserPackageMapper userPackageMapper; private final UserPackageMapper userPackageMapper;
private final PhoneFidMapMapper phoneFidMapMapper; private final PhoneFidMapMapper phoneFidMapMapper;
private final PipelinePackageManager pipelinePackageManager; private final PipelinePackageFabric pipelinePackageManager;
private final PipelinePackageOrchestrator pipelineOrchestrator;
private final CreditTrackerSettings creditTrackerSettings; private final CreditTrackerSettings creditTrackerSettings;
private final Saver saver; private final Saver saver;
private final ExecutorService pipelineExecutorService; private final ExecutorService pipelineExecutorService;
@ -39,7 +40,7 @@ public class UpdateProcessingPackagesService {
public UpdateProcessingPackagesService(UserPackageMapper userPackageMapper, public UpdateProcessingPackagesService(UserPackageMapper userPackageMapper,
PhoneFidMapMapper phoneFidMapMapper, PhoneFidMapMapper phoneFidMapMapper,
PipelinePackageManager pipelinePackageManager, PipelinePackageFabric pipelinePackageManager, PipelinePackageOrchestrator pipelineOrchestrator,
CreditTrackerSettings creditTrackerSettings, CreditTrackerSettings creditTrackerSettings,
Saver saver, Saver saver,
ExecutorService pipelineExecutorService, ExecutorService pipelineExecutorService,
@ -47,6 +48,7 @@ public class UpdateProcessingPackagesService {
this.userPackageMapper = userPackageMapper; this.userPackageMapper = userPackageMapper;
this.phoneFidMapMapper = phoneFidMapMapper; this.phoneFidMapMapper = phoneFidMapMapper;
this.pipelinePackageManager = pipelinePackageManager; this.pipelinePackageManager = pipelinePackageManager;
this.pipelineOrchestrator = pipelineOrchestrator;
this.creditTrackerSettings = creditTrackerSettings; this.creditTrackerSettings = creditTrackerSettings;
this.saver = saver; this.saver = saver;
this.pipelineExecutorService = pipelineExecutorService; this.pipelineExecutorService = pipelineExecutorService;
@ -68,17 +70,11 @@ public class UpdateProcessingPackagesService {
log.trace("Deleted {} rows", count); log.trace("Deleted {} rows", count);
Path xmlReqPath = CTUtil.workingPathToReqByPackage(creditTrackerSettings.getLoadDir(), userPackage); Path xmlReqPath = CTUtil.workingPathToReqByPackage(creditTrackerSettings.getLoadDir(), userPackage);
log.debug("Try to read and build pipeline for packageId {}; req xml path: {}", userPackage.getId(), xmlReqPath); log.debug("Try to read and build pipeline for packageId {}; req xml path: {}", userPackage.getId(), xmlReqPath);
Pipeline pipeline = pipelinePackageManager.buildAndRun(new SetupParam(userPackage.getId(), xmlReqPath, PipelineMode.DEFAULT)); Pipeline pipeline = pipelinePackageManager.build(new SetupParam(userPackage.getId(), xmlReqPath, PipelineMode.DEFAULT));
CompletableFuture pipelineOrchestrator.startOrDelay(
.runAsync(() -> { () -> saver.readAndSave(userPackage.getId(), xmlReqPath),
try { pipeline, userPackage.getId()
saver.readAndSave(userPackage.getId(), xmlReqPath); );
} catch (Throwable t) {
log.error(ExceptionUtils.getStackTrace(t));
pipeline.close();
}
}, saverExecutorService)
.thenRun(() -> pipeline.start(pipelineExecutorService));
} catch (Exception e) { } catch (Exception e) {
log.error("Error build default pipeline for packageId {}: {}", userPackage.getId(), ExceptionUtils.getStackTrace(e)); log.error("Error build default pipeline for packageId {}: {}", userPackage.getId(), ExceptionUtils.getStackTrace(e));
} }
@ -91,8 +87,8 @@ public class UpdateProcessingPackagesService {
log.debug("Found {} packages in status PROCESSING and rejected_status = null", packages.size()); log.debug("Found {} packages in status PROCESSING and rejected_status = null", packages.size());
for (UserPackage userPackage : packages) { for (UserPackage userPackage : packages) {
try { try {
Pipeline pipeline = pipelinePackageManager.buildAndRun(new SetupParam(userPackage.getId(), null, PipelineMode.RESTORE)); Pipeline pipeline = pipelinePackageManager.build(new SetupParam(userPackage.getId(), null, PipelineMode.RESTORE));
pipeline.start(pipelineExecutorService); pipelineOrchestrator.startOrDelay(pipeline, userPackage.getId());
} catch (Exception e) { } catch (Exception e) {
log.error("Error build restore pipeline for packageId {}: {}", userPackage.getId(), ExceptionUtils.getStackTrace(e)); log.error("Error build restore pipeline for packageId {}: {}", userPackage.getId(), ExceptionUtils.getStackTrace(e));
} }
@ -104,8 +100,8 @@ public class UpdateProcessingPackagesService {
log.debug("Found {} packages in status PROCESSING_REPEATED", packages.size()); log.debug("Found {} packages in status PROCESSING_REPEATED", packages.size());
for (UserPackage userPackage : packages) { for (UserPackage userPackage : packages) {
try { try {
Pipeline pipeline = pipelinePackageManager.buildAndRun(new SetupParam(userPackage.getId(), null, PipelineMode.REPEATED_RESTORE)); Pipeline pipeline = pipelinePackageManager.build(new SetupParam(userPackage.getId(), null, PipelineMode.REPEATED_RESTORE));
pipeline.start(pipelineExecutorService); pipelineOrchestrator.startOrDelay(pipeline, userPackage.getId());
} catch (Exception e) { } catch (Exception e) {
log.error("Error build restore pipeline for packageId {}: {}", userPackage.getId(), ExceptionUtils.getStackTrace(e)); log.error("Error build restore pipeline for packageId {}: {}", userPackage.getId(), ExceptionUtils.getStackTrace(e));
} }

View file

@ -14,7 +14,8 @@ import ru.nbch.credit_tracker.mapper.signal.PhoneFidMapMapper;
import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper; import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper;
import ru.nbch.credit_tracker.service.signal.SignalRestService; import ru.nbch.credit_tracker.service.signal.SignalRestService;
import ru.nbch.credit_tracker.service.task.Pipeline; import ru.nbch.credit_tracker.service.task.Pipeline;
import ru.nbch.credit_tracker.service.task.PipelinePackageManager; import ru.nbch.credit_tracker.service.task.PipelinePackageFabric;
import ru.nbch.credit_tracker.service.task.PipelinePackageOrchestrator;
import ru.nbch.credit_tracker.service.task.SetupParam; import ru.nbch.credit_tracker.service.task.SetupParam;
import ru.nbch.credit_tracker.service.task.impl.PipelineMode; import ru.nbch.credit_tracker.service.task.impl.PipelineMode;
@ -33,7 +34,8 @@ public class UpdatingFlagsService {
private final Long daysToUpdateFlags; private final Long daysToUpdateFlags;
private final PhoneFidMapMapper phoneFidMapMapper; private final PhoneFidMapMapper phoneFidMapMapper;
private final UserPackageMapper userPackageMapper; private final UserPackageMapper userPackageMapper;
private final PipelinePackageManager pipelinePackageManager; private final PipelinePackageFabric pipelinePackageManager;
private final PipelinePackageOrchestrator pipelineOrchestrator;
private final ExecutorService pipelineExecutorService; private final ExecutorService pipelineExecutorService;
public UpdatingFlagsService(SignalService signalService, public UpdatingFlagsService(SignalService signalService,
@ -41,7 +43,7 @@ public class UpdatingFlagsService {
MonitoringErrorProcesingService monitoringErrorProcesingService, MonitoringErrorProcesingService monitoringErrorProcesingService,
CreditTrackerSettings config, CreditTrackerSettings config,
PhoneFidMapMapper phoneFidMapMapper, UserPackageMapper userPackageMapper, PhoneFidMapMapper phoneFidMapMapper, UserPackageMapper userPackageMapper,
PipelinePackageManager pipelinePackageManager, PipelinePackageFabric pipelinePackageManager, PipelinePackageOrchestrator pipelineOrchestrator,
ExecutorService pipelineExecutorService) { ExecutorService pipelineExecutorService) {
this.signalService = signalService; this.signalService = signalService;
this.signalRestService = signalRestService; this.signalRestService = signalRestService;
@ -50,6 +52,7 @@ public class UpdatingFlagsService {
this.phoneFidMapMapper = phoneFidMapMapper; this.phoneFidMapMapper = phoneFidMapMapper;
this.userPackageMapper = userPackageMapper; this.userPackageMapper = userPackageMapper;
this.pipelinePackageManager = pipelinePackageManager; this.pipelinePackageManager = pipelinePackageManager;
this.pipelineOrchestrator = pipelineOrchestrator;
this.pipelineExecutorService = pipelineExecutorService; this.pipelineExecutorService = pipelineExecutorService;
} }
@ -65,8 +68,8 @@ public class UpdatingFlagsService {
if (hasOldRow) { if (hasOldRow) {
try { try {
userPackageMapper.updatePackageStatus(userPackage.getId(), Status.PROCESSING_REPEATED.name()); userPackageMapper.updatePackageStatus(userPackage.getId(), Status.PROCESSING_REPEATED.name());
Pipeline pipeline = pipelinePackageManager.buildAndRun(new SetupParam(userPackage.getId(), null, PipelineMode.DEFAULT)); Pipeline pipeline = pipelinePackageManager.build(new SetupParam(userPackage.getId(), null, PipelineMode.DEFAULT));
pipeline.start(pipelineExecutorService); pipelineOrchestrator.startOrDelay(pipeline, userPackage.getId());
} catch (Exception e) { } catch (Exception e) {
log.error("Failed to build pipeline", e); log.error("Failed to build pipeline", e);
} }

View file

@ -8,23 +8,19 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings; import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
import ru.nbch.credit_tracker.config.task.StageQueueFactory; import ru.nbch.credit_tracker.config.task.StageQueueFactory;
import ru.nbch.credit_tracker.mapper.signal.UserPackageMapper;
import ru.nbch.credit_tracker.model.impl.PartFilePayload; import ru.nbch.credit_tracker.model.impl.PartFilePayload;
import ru.nbch.credit_tracker.model.impl.SignalXmlFilePayload; import ru.nbch.credit_tracker.model.impl.SignalXmlFilePayload;
import ru.nbch.credit_tracker.model.impl.SubjectPayload; import ru.nbch.credit_tracker.model.impl.SubjectPayload;
import ru.nbch.credit_tracker.service.MonitoringErrorProcesingService;
import ru.nbch.credit_tracker.service.signal.SignalRestService;
import ru.nbch.credit_tracker.service.task.impl.FidIdEnricher; import ru.nbch.credit_tracker.service.task.impl.FidIdEnricher;
import ru.nbch.credit_tracker.service.task.impl.FidNameEnricher; import ru.nbch.credit_tracker.service.task.impl.FidNameEnricher;
import ru.nbch.credit_tracker.service.task.impl.FlagsEnricher; import ru.nbch.credit_tracker.service.task.impl.FlagsEnricher;
import ru.nbch.credit_tracker.service.task.impl.Saver;
import ru.nbch.credit_tracker.service.task.setup.IPipeLineStarter; import ru.nbch.credit_tracker.service.task.setup.IPipeLineStarter;
import ru.nbch.credit_tracker.service.task.setup.IPipeLineTerminator; import ru.nbch.credit_tracker.service.task.setup.IPipeLineTerminator;
import ru.nbch.credit_tracker.service.task.setup.PipeLineBuilderV2; import ru.nbch.credit_tracker.service.task.setup.PipeLineBuilderV2;
@Component @Component
@Slf4j @Slf4j
public class PipelinePackageManager implements InitializingBean { public class PipelinePackageFabric implements InitializingBean {
private final FlagsEnricher flagsEnricherV2; private final FlagsEnricher flagsEnricherV2;
private final StageQueueFactory<SubjectPayload> idEnricherQueueFactory; private final StageQueueFactory<SubjectPayload> idEnricherQueueFactory;
private final StageQueueFactory<SubjectPayload> nameEnricherQueueFactory; private final StageQueueFactory<SubjectPayload> nameEnricherQueueFactory;
@ -36,18 +32,15 @@ public class PipelinePackageManager implements InitializingBean {
private final CreditTrackerSettings creditTrackerSettings; private final CreditTrackerSettings creditTrackerSettings;
private final PipelineBackoff pipelineBackoff; private final PipelineBackoff pipelineBackoff;
public PipelinePackageManager(SignalRestService signalRestService, public PipelinePackageFabric(@Qualifier("idEnricherQueueFactory") StageQueueFactory<SubjectPayload> idEnricherQueueFactory,
@Qualifier("idEnricherQueueFactory") StageQueueFactory<SubjectPayload> idEnricherQueueFactory,
@Qualifier("nameEnricherQueueFactory") StageQueueFactory<SubjectPayload> nameEnricherQueueFactory, @Qualifier("nameEnricherQueueFactory") StageQueueFactory<SubjectPayload> nameEnricherQueueFactory,
@Qualifier("partFileQueueFactory") StageQueueFactory<PartFilePayload> sendSignalQueueFactory, @Qualifier("partFileQueueFactory") StageQueueFactory<PartFilePayload> sendSignalQueueFactory,
UserPackageMapper userPackageMapper,
FidIdEnricher fidIdEnricherHandler, FidIdEnricher fidIdEnricherHandler,
Supplier<IPipeLineTerminator<PartFilePayload, SignalXmlFilePayload>> pipelineTerminatorFactory, Supplier<IPipeLineTerminator<PartFilePayload, SignalXmlFilePayload>> pipelineTerminatorFactory,
Function<SetupParam, IPipeLineStarter<SubjectPayload>> pipelineStarterFactory, Function<SetupParam, IPipeLineStarter<SubjectPayload>> pipelineStarterFactory,
FlagsEnricher flagsEnricherV2, FidNameEnricher fidNameEnricher, FlagsEnricher flagsEnricherV2, FidNameEnricher fidNameEnricher,
CreditTrackerSettings creditTrackerSettings, CreditTrackerSettings creditTrackerSettings,
PipelineBackoff pipelineBackoff, Saver saver, PipelineBackoff pipelineBackoff) {
MonitoringErrorProcesingService monitoringErrorProcesingService) {
this.idEnricherQueueFactory = idEnricherQueueFactory; this.idEnricherQueueFactory = idEnricherQueueFactory;
this.nameEnricherQueueFactory = nameEnricherQueueFactory; this.nameEnricherQueueFactory = nameEnricherQueueFactory;
this.sendSignalQueueFactory = sendSignalQueueFactory; this.sendSignalQueueFactory = sendSignalQueueFactory;
@ -60,7 +53,7 @@ public class PipelinePackageManager implements InitializingBean {
this.pipelineBackoff = pipelineBackoff; this.pipelineBackoff = pipelineBackoff;
} }
public Pipeline buildAndRun(SetupParam setupParam) throws Exception { public Pipeline build(SetupParam setupParam) throws Exception {
return PipeLineBuilderV2.first(nameEnricherQueueFactory.getObject(), idEnricherQueueFactory.getObject()) return PipeLineBuilderV2.first(nameEnricherQueueFactory.getObject(), idEnricherQueueFactory.getObject())
.handler(fidNameEnricher) .handler(fidNameEnricher)
.handlerResult(flagsEnricherV2) .handlerResult(flagsEnricherV2)

View file

@ -62,7 +62,7 @@ public class PipelinePackageOrchestrator {
innerStartOrDelay(before, pipeline, packageId); innerStartOrDelay(before, pipeline, packageId);
} }
public void innerStartOrDelay(Runnable before, Pipeline pipeline, Long packageId) { private void innerStartOrDelay(Runnable before, Pipeline pipeline, Long packageId) {
try { try {
if (before != null) { if (before != null) {
CompletableFuture CompletableFuture
@ -89,7 +89,7 @@ public class PipelinePackageOrchestrator {
} }
} }
public void addCallback(Pipeline pipeline, Long packageId) { private void addCallback(Pipeline pipeline, Long packageId) {
pipeline.getTerminator() pipeline.getTerminator()
.doneFuture() .doneFuture()
.orTimeout(creditTrackerSettings.getPipeline().globalTimeout().toMillis(), TimeUnit.MILLISECONDS) .orTimeout(creditTrackerSettings.getPipeline().globalTimeout().toMillis(), TimeUnit.MILLISECONDS)
@ -134,7 +134,6 @@ public class PipelinePackageOrchestrator {
return; return;
} }
} }
log.info("delayed pipeline found: packageId={}. continue work...", delayedLaunch.packageId); log.info("delayed pipeline found: packageId={}. continue work...", delayedLaunch.packageId);
innerStartOrDelay(delayedLaunch.before, delayedLaunch.pipeline, delayedLaunch.packageId); innerStartOrDelay(delayedLaunch.before, delayedLaunch.pipeline, delayedLaunch.packageId);
} }