From: Vásáry Dániel Date: Fri, 7 Feb 2020 14:42:43 +0000 (+0000) Subject: git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube... X-Git-Url: http://git.useribm.hu/?a=commitdiff_plain;h=1d2915764376be91950afa1e5fd020d96e868f33;p=mediacube.git git-tfs-id: [tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31735 --- diff --git a/server/user.jobengine.executors/jobtemplates/archive-material.xml b/server/user.jobengine.executors/jobtemplates/archive-material.xml index bfb5cd28..8ff8e68e 100644 --- a/server/user.jobengine.executors/jobtemplates/archive-material.xml +++ b/server/user.jobengine.executors/jobtemplates/archive-material.xml @@ -63,7 +63,7 @@ - + diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/ArchiveMaterialSubmitStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/ArchiveMaterialSubmitStep.java index b1232e53..5ded673e 100644 --- a/server/user.jobengine.executors/src/user/jobengine/server/steps/ArchiveMaterialSubmitStep.java +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/ArchiveMaterialSubmitStep.java @@ -33,15 +33,20 @@ public class ArchiveMaterialSubmitStep extends JobStep { for (int i = 0; i < archiveList.size(); i++) { ArchiveItem archiveItem = archiveList.get(i); try { - jobEngine.submit(jobRuntime, null, JOBTEMPLATE, ARCHIVE, ListUtils.asMap(ARCHIVE_ITEM, archiveItem, GLOBAL_SOURCE_PATH, globalSourcePath, - TRANSCODER_TARGET_PATH, transcoderTargetPath, WEB_PATH, webPath, KILL_DATE_DAYS, killDateDays)); + IJobRuntime runtime = jobEngine.submit(jobRuntime, null, JOBTEMPLATE, ARCHIVE, + ListUtils.asMap(ARCHIVE_ITEM, archiveItem, GLOBAL_SOURCE_PATH, globalSourcePath, TRANSCODER_TARGET_PATH, transcoderTargetPath, + WEB_PATH, webPath, KILL_DATE_DAYS, killDateDays)); setProgress((i + 1) * 100 / archiveList.size()); + //TODO kivezetni a submit hibaüzenetet + if (runtime == null) + throw new Exception("Submit returned null runtime"); } catch (Exception e) { logger.catching(e); String fileName = new File(archiveItem.getMediaFile()).getName(); logger.error(marker, "Az '{}' állomány archiválási kísérlete sikertelen. A rendszer üzenete: {}", fileName, e.getMessage()); if (!archiveItem.removeCatchedFile()) logger.error(marker, "Az '{}' állomány .catched jelző állománya nem törölhető.", fileName); + throw e; } } } diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/server/IJobRuntime.java b/server/user.jobengine.osgi.server/src/user/jobengine/server/IJobRuntime.java index 40f5b6c7..2f03f88c 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/server/IJobRuntime.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/server/IJobRuntime.java @@ -20,6 +20,8 @@ public interface IJobRuntime extends IJob { void arrangeStack(); + void cancelForkPrepare() throws InterruptedException; + void checkStackParameter() throws RuntimeException, IllegalArgumentException; void decrementInstructionPointer(); diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/server/JobRuntime.java b/server/user.jobengine.osgi.server/src/user/jobengine/server/JobRuntime.java index 5d47c4aa..0643b855 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/server/JobRuntime.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/server/JobRuntime.java @@ -165,6 +165,12 @@ public class JobRuntime extends Job implements IJobRuntime { } } + @Override + public void cancelForkPrepare() throws InterruptedException { + if (forkSempahore != null) + forkSempahore.release(); + } + @Override public void checkStackParameter() throws RuntimeException, IllegalArgumentException { Class requiredType = (Class) popFromStack(); @@ -227,6 +233,11 @@ public class JobRuntime extends Job implements IJobRuntime { } if (!jobEngine.isRunning()) forkSempahore.release(); + + //A gyerek(ek) el sem indultak, pl. nem letezik a template + if (event.getSignalType().equals(SignalType.UPDATE) && JobStatus.SUSPENDED.equals(getStatus())) + forkSempahore.release(); + }; logger.info("Adding job changed listener"); jobEngine.addJobChangedEventListener(jobChangedListener);