git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorvasary.daniel <TFS\vasary.daniel>
Wed, 2 Jun 2021 19:15:53 +0000 (19:15 +0000)
committervasary.daniel <TFS\vasary.daniel>
Wed, 2 Jun 2021 19:15:53 +0000 (19:15 +0000)
server/-product/production/HIRTV/jobs/schedules.json
server/-product/production/HIRTV/settings/application.yaml
server/user.jobengine.executors/src/user/jobengine/server/steps/CopyForArchiveNEXIOMaterialsStep.java
server/user.jobengine.executors/src/user/jobengine/server/steps/shared/OctopusDataMiner.java

index 2f921d82babf8b1b9634c4ef12cee131bb0920a9..825fd64e3d16514be34cc81f01ce8a0be4a8a041 100644 (file)
@@ -3,6 +3,19 @@
       "active": true,\r
       "cronexpression": "0/2 * * * * ?",\r
       "template": "cancelable.xml"\r
-    }\r
+    },\r
+       {\r
+      "active": true,\r
+      "executeimmediate": true,\r
+         "name" : "OCTOPUS adatok szinkronizálása",\r
+      "template": "sync-octopus.xml",\r
+      "cronexpression": "0/30 * * * * ?",\r
+      "parameters": [\r
+       {"name": "includeArchived", "value": false, "type": "java.lang.Boolean"},\r
+       {"name": "address", "value": "http://10.10.1.11/api/v1", "type": "java.lang.String"},\r
+       {"name": "user", "value": "mam", "type": "java.lang.String"},\r
+       {"name": "pwd", "value": "napocska", "type": "java.lang.String"}\r
+      ]\r
+       }       \r
   ]\r
 }
\ No newline at end of file
index 3d13d1cea493115ce9d449d46935da715e40e523..7e7e40549eb94adabaa6f164d00e221fbef34ed5 100644 (file)
@@ -32,9 +32,9 @@ services:
          address: http://10.10.1.11/api/v1\r
          user: mama\r
          password: napocska\r
-      rundowns-collection-name: rundowns-test\r
-      stories-collection-name: stories1-test\r
-      folders-collection-name: storyfolders-test\r
+      rundowns-collection-name: rundowns\r
+      stories-collection-name: stories\r
+      folders-collection-name: storyfolders\r
 jobs:\r
    validate-transfers: false\r
    copy-buffer-size: 32768\r
index b974797f27b534a1fb7132664707fad585054046..7bb46787ad556d07005a05cde6bc29ee575a3394 100644 (file)
@@ -42,13 +42,13 @@ import user.jobengine.server.steps.shared.MetadataTypeDetector;
 \r
 public class CopyForArchiveNEXIOMaterialsStep extends JobStep {\r
        private static final String SCHEDULED_FORMAT = "yyyy.MM.dd HH:mm";\r
-       private static final Logger logger = LogManager.getLogger();\r
+       private static final Logger logger = LogManager.getLogger("CopyForArchiveNEXIOMaterialsStep");\r
        private static final String UTF_8 = "utf-8";\r
        private static final String JSON_EXT = ".json";\r
        private static final String XML_EXT = ".xml";\r
        private static final String DURATION = "duration";\r
        private static final String MXFEXT = ".MXF";\r
-       private static final String NEXIOCLIPS = "nexioclips";\r
+       private static final String NEXIOCLIPS = SystemConfiguration.getInstance().value("services.nexio.collection-name", "nexioclips");\r
        private static final String LONGNAMEID = "longnameid";\r
        private static final String ARCHIVEDRUNDOWNS = "archivedrundowns";\r
        private static final String ID = "id";\r
@@ -178,7 +178,7 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
        public Object[] execute(int nexioPort, String nexioUserName, String nexioPassword, String archiveFtp, String archiveUserName, String archivePassword,\r
                        int daysBeforeNow, int nexioKillDateDays, String nexioAgency, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
                systemMarker = getMarker();\r
-               logger.info(systemMarker, "test");\r
+               logger.debug(systemMarker, "debug test");\r
                setAndCheck(nexioPort, nexioUserName, nexioPassword, archiveFtp, archiveUserName, archivePassword, nexioKillDateDays, nexioAgency, jobEngine);\r
                octopusAPI = new OctopusAPI();\r
                Calendar scheduledDate = Calendar.getInstance();\r
@@ -218,13 +218,13 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
        private FileArchive processMosObject(BasicDBObject rundown, BasicDBObject story, BasicDBObject mosObject) throws Exception {\r
                String mosID = mosObject.getString(IOctopusAPI.OBJ_ID);\r
                if (MetadataTypeDetector.GuessMetadataType(mosID) != MetadataType.OctopusPlaceholder) {\r
-                       logger.trace(systemMarker, "Skipping MOS object {}", mosID);\r
+                       logger.info(systemMarker, "Skipping MOS object {}", mosID);\r
                        return null;\r
                }\r
                DBCollection clips = db.getCollection(NEXIOCLIPS);\r
                BasicDBObject clip = (BasicDBObject) clips.findOne(new BasicDBObject(LONGNAMEID, mosID));\r
                if (clip == null) {\r
-                       logger.debug(systemMarker, "File {} NOT exists", mosID);\r
+                       logger.info(systemMarker, "File {} NOT exists", mosID);\r
                        return null;\r
                        //throw new Exception(String.format("File NOT exists %s", mosID));\r
                } else {\r
@@ -233,11 +233,11 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
                long duration = NoSQLUtils.asLong(clip, DURATION);\r
 \r
                if (duration == 0) {\r
-                       logger.debug(systemMarker, "File {} exists with 0 frame length", mosID);\r
+                       logger.info(systemMarker, "File {} exists with 0 frame length", mosID);\r
                        return null;\r
                }\r
                if (duration == 1) {\r
-                       logger.debug(systemMarker, "File {} exists with 1 frame length", mosID);\r
+                       logger.info(systemMarker, "File {} exists with 1 frame length", mosID);\r
                        return null;\r
                }\r
                return new FileArchive(mosID, duration);\r
@@ -249,25 +249,32 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
                if (!demo)\r
                        logger.info(systemMarker, "Processing rundown {} {}", rundownID, rundown.getString(IOctopusAPI.NAME));\r
                List<DBObject> stories = octopusAPI.getRundownFullStories(rundownID);\r
-               if (stories == null)\r
+               if (stories == null) {\r
+                       logger.info(systemMarker, "Rundown {} {} is empty", rundownID, rundown.getString(IOctopusAPI.NAME));\r
                        return null;\r
+               }\r
                RundownArchive result = new RundownArchive();\r
 \r
                long id = NoSQLUtils.asLong(rundown, IOctopusAPI.ID);\r
                if (id == 0)\r
                        return null;\r
                String name = NoSQLUtils.asString(NoSQLUtils.asDBObject(rundown, IOctopusAPI.RUNDOWN_TYPE), IOctopusAPI.NAME);\r
-               if (StringUtils.isBlank(name))\r
+               if (StringUtils.isBlank(name)) {\r
+                       logger.info(systemMarker, "Rundown {} {} type is empty", rundownID, rundown.getString(IOctopusAPI.NAME));\r
                        return null;\r
+               }\r
                String channel = NoSQLUtils.asString(NoSQLUtils.asDBObject(rundown, IOctopusAPI.CHANNEL), IOctopusAPI.NAME);\r
                Date scheduledStart = rundown.getDate(IOctopusAPI.SCHEDULED_START);\r
-               if (scheduledStart == null)\r
+               if (scheduledStart == null) {\r
+                       logger.info(systemMarker, "Rundown {} {} schedule is empty", rundownID, rundown.getString(IOctopusAPI.NAME));\r
                        return null;\r
+               }\r
                String start = CalendarUtils.toString(CalendarUtils.createCalendar(scheduledStart), SCHEDULED_FORMAT);\r
                result.setScheduleDate(scheduledStart);\r
                result.setItemHouseId(String.valueOf(id));\r
                result.setItemTitle(String.format("%s %s %s", start, name, channel));\r
 \r
+               logger.info(systemMarker, "Processing stories in rundown {} {}", rundownID, rundown.getString(IOctopusAPI.NAME));\r
                for (DBObject s : stories) {\r
                        StoryArchive storyArchive = processStory(rundown, s);\r
                        if (storyArchive == null)\r
@@ -280,7 +287,7 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
        private void processRundowns(List<DBObject> rundowns) {\r
 \r
                //TODO kiveni publikálás előtt\r
-               //db.getCollection(ARCHIVEDRUNDOWNS).drop();\r
+               //db.getCollection(v).drop();\r
                List<BasicDBObject> archivedRundowns = queryArchivedRundowns();\r
 \r
                logger.info(systemMarker, "Found {} rundowns to archive", archivedRundowns.size());\r
@@ -329,15 +336,18 @@ public class CopyForArchiveNEXIOMaterialsStep extends JobStep {
        private StoryArchive processStory(BasicDBObject rundown, DBObject s) throws Exception {\r
                BasicDBObject story = (BasicDBObject) s;\r
                String parentStoryID = story.getString(IOctopusAPI.PARENT_STORY_ID);\r
+               String storyID = story.getString(IOctopusAPI.ID);\r
+               \r
                if (StringUtils.isBlank(parentStoryID)) {\r
                        logger.warn(systemMarker, "Story parentStoryID is null: {}", story.toPrettyString(null));\r
                        return null;\r
-               } else\r
-                       logger.info(systemMarker, "Processing story {}", parentStoryID);\r
+               } else {\r
+                       if ("475048225".equals(storyID))\r
+                               logger.info(systemMarker, "Processing story {}", story.toPrettyString(null));\r
+               }\r
                List<BasicDBObject> mosObjects = NoSQLUtils.asList(story, IOctopusAPI.MOS_OBJECTS);\r
                if (mosObjects == null) {\r
-                       logger.info(systemMarker, "No MOS in story {}: {}", parentStoryID, story.toPrettyString(null));\r
-                       \r
+                       logger.debug(systemMarker, "No MOS in story {}", storyID);\r
                        return null;\r
                }\r
                StoryArchive storyArchive = null;\r
index cd4ebc756ef8cb4ca697eef10b7ebc555fbf2107..a37e8cd8b35ee0ff8f88dcea884a529725a3dd02 100644 (file)
@@ -1,5 +1,7 @@
 package user.jobengine.server.steps.shared;\r
 \r
+import java.util.ArrayList;\r
+import java.util.Arrays;\r
 import java.util.Calendar;\r
 import java.util.Date;\r
 import java.util.HashMap;\r
@@ -291,6 +293,7 @@ public class OctopusDataMiner {
                        return null;\r
 \r
                Map<String, String> mosLabels = extractScriptMosObjectIDs(story);\r
+               //logger.info(Arrays.deepToString(new ArrayList<>(mosLabels.keySet())));\r
                BasicDBList result = null;\r
                for (BasicDBObject mosObject : mosObjects) {\r
                        if (!mosObject.containsKey(IOctopusAPI.MOS_ID))\r
@@ -302,6 +305,9 @@ public class OctopusDataMiner {
                        if (objId == null)\r
                                continue;\r
 \r
+                       \r
+                       logger.info("MOS ID: {}", objId);\r
+                       \r
                        MetadataType metadataType = MetadataTypeDetector.GuessMetadataType(objId);\r
                        if (!MetadataType.OctopusPlaceholder.equals(metadataType) && !MetadataType.OctopusStory.equals(metadataType))\r
                                continue;\r