From 51c2c409383b221f811227615125ca18ab30d1be Mon Sep 17 00:00:00 2001 From: M-Wicenec Date: Fri, 9 Jul 2021 18:30:54 +0800 Subject: [PATCH 01/12] progress bars working for one session in dm and dim, needs css --- .../dlg/manager/web/static/css/dm.css | 56 ++++++++++++++++++- .../dlg/manager/web/static/js/dm.js | 39 ++++++------- 2 files changed, 73 insertions(+), 22 deletions(-) diff --git a/daliuge-engine/dlg/manager/web/static/css/dm.css b/daliuge-engine/dlg/manager/web/static/css/dm.css index a16661bec..62f70ad28 100644 --- a/daliuge-engine/dlg/manager/web/static/css/dm.css +++ b/daliuge-engine/dlg/manager/web/static/css/dm.css @@ -80,4 +80,58 @@ color:rgba(0,35,73,1); .inactiveLink { pointer-events: none; cursor: default; - } \ No newline at end of file + } + + +svg { + width: 100%; + height: auto; + overflow: hidden; + } + + .node rect, .node polygon { + stroke-width: 2.0px; + stroke: #bbb; + } + + /* DROP states */ + .node.initialized :first-child, rect.initialized { + fill: #ffe; + } + + .node.writing :first-child, rect.writing { + fill: #ecde7b; + } + + .node.completed :first-child, rect.completed { + fill: #7bdc7b; + } + + .node.expired :first-child, rect.expired { + fill: #700000; + } + + .node.cancelled :first-child, rect.cancelled { + fill: #cccccc; + } + + .node.deleted :first-child, rect.deleted { + color: #700000; + } + + /* AppDROP states */ + .node.not_run :first-child, rect.not_run { + fill: #ffe; + } + + .node.running :first-child, rect.running { + fill: #ecde7b; + } + + .node.finished :first-child, rect.finished { + fill: #7bdc7b; + } + + .node.error :first-child, rect.error { + fill: #e44f33; + } \ No newline at end of file diff --git a/daliuge-engine/dlg/manager/web/static/js/dm.js b/daliuge-engine/dlg/manager/web/static/js/dm.js index 95b7e24b4..48420b30d 100644 --- a/daliuge-engine/dlg/manager/web/static/js/dm.js +++ b/daliuge-engine/dlg/manager/web/static/js/dm.js @@ -21,8 +21,8 @@ // var SESSION_STATUS = ['Pristine', 'Building', 'Deploying', 'Running', 'Finished', 'Cancelled'] -var STATUS_CLASSES = ['initialized', 'writing', 'completed', 'error', 'expired', 'deleted', 'cancelled'] -var EXECSTATUS_CLASSES = ['not_run', 'running', 'finished', 'error', 'cancelled'] +var STATUS_CLASSES = ['initialized', 'writing', 'completed', 'error', 'expired', 'deleted', 'cancelled', 'skipped'] +var EXECSTATUS_CLASSES = ['not_run', 'running', 'finished', 'error', 'cancelled', 'skipped'] var TYPE_CLASSES = ['app', 'container', 'socket', 'plain'] var TYPE_SHAPES = {app:'rect', container:'parallelogram', socket:'parallelogram', plain:'parallelogram'} @@ -165,7 +165,7 @@ function loadSessions(serverUrl, tbodyEl, refreshBtn, selectedNode, delay) { var sessions = response; sessions.sort(function comp(a,b) { - return (a.sessionId < b.sessionId) ? -1 : (a.sessionId > b.sessionId); + return (a.sessionId > b.sessionId) ? -1 : (a.sessionId < b.sessionId); }); // console.log(sessions[0]); var rows = tbodyEl.selectAll('tr').data(sessions); @@ -179,10 +179,14 @@ function loadSessions(serverUrl, tbodyEl, refreshBtn, selectedNode, delay) { var statusCells = rows.selectAll('td.status').data(function values(s) { return [uniqueSessionStatus(s.status)]; }); statusCells.enter().append('td').classed('status', true).text(function(s) { return sessionStatusToString(s); }) - statusCells.text(function(s) {return sessionStatusToString(s)}); - statusCells.append('svg'); + statusCells.text(function(s) {return sessionStatusToString(s)}) statusCells.exit().remove() + var sizeCells = rows.selectAll('td.size').data(function values(s) { return [s.size]; }); + sizeCells.enter().append('td').classed('size', true).text(String) + sizeCells.text(String) + sizeCells.exit().remove() + //WIP statusbars in dim const width = $('#sessionsTable').find('.status').innerWidth(); @@ -230,16 +234,6 @@ function loadSessions(serverUrl, tbodyEl, refreshBtn, selectedNode, delay) { .attr('class', function(d) { return states[status_counts.indexOf(d)]; }); rects.exit().remove(); }; - - - startStatusQuery(serverUrl, sessions[0].sessionId, selectedNode, graph_update_handler, - status_update_handler, 1000); - - - var sizeCells = rows.selectAll('td.size').data(function values(s) { return [s.size]; }); - sizeCells.enter().append('td').classed('size', true).text(String) - sizeCells.text(String) - sizeCells.exit().remove() statusCells = rows.selectAll('td.details').data(function values(s) { return [s.sessionId]; }); statusCells.enter().append('td').classed('details', true) @@ -264,6 +258,7 @@ function loadSessions(serverUrl, tbodyEl, refreshBtn, selectedNode, delay) { }); }) + //update status colours and hide cancel button if finished or cancelled $(".status").each(function(){ var currentStatus = $(this).html() @@ -274,10 +269,15 @@ function loadSessions(serverUrl, tbodyEl, refreshBtn, selectedNode, delay) { $(this).css("color","blue"); } else if (currentStatus==="Running") { - $(this).css("color","orange"); - }else{ + $(this).text(""); + $(this).append("") + startStatusQuery(serverUrl, $(this).parent().find(".id").text(), selectedNode, graph_update_handler, + status_update_handler, 1000); + }else if (currentStatus==="Finished"){ $(this).css("color","#00af28"); $(this).parent().find(".actions").find("button").hide(); + }else{ + $(this).css("color","purple"); } }) @@ -428,9 +428,6 @@ function startStatusQuery(serverUrl, sessionId, selectedNode, graph_update_handl if (status == 3 || status == 4 || status == 5) { startGraphStatusUpdates(serverUrl, sessionId, selectedNode, delay, status_update_handler); - - - //WIP this? } else if( status == 0 || status == 1 || status == 2 || status == -1 ){ // schedule a new JSON request @@ -538,7 +535,7 @@ function startGraphStatusUpdates(serverUrl, sessionId, selectedNode, delay, var allCompleted = statuses.reduce(function(prevVal, curVal, idx, arr) { var cur_status = get_status_name(curVal); - return prevVal && (cur_status == 'completed' || cur_status == 'finished' || cur_status == 'error' || cur_status == 'cancelled'); + return prevVal && (cur_status == 'completed' || cur_status == 'finished' || cur_status == 'error' || cur_status == 'cancelled' || cur_status == 'skipped'); }, true); if (!allCompleted) { d3.timer(updateStates, delay); From e4a495a5ca61081f12e71a9f9fc6893f22fcef26 Mon Sep 17 00:00:00 2001 From: Rodrigo Tobar Date: Wed, 14 Jul 2021 14:58:20 +0800 Subject: [PATCH 02/12] Support unwritten FileDROPs correctly In FileDROP's setCompleted call we update the _size attribute by issuing an os.stat call. This call can fail when the file is not present, which in turn happens when none of its producers actually wrote anything into it. Depending on the context, the error will be visible or not (e.g., it might not appear in the logfiles if the call was issued on a thread with no high-level try/catch+log block -- like those spawned by AppDrop.execute). This commit fixes this by catching errors from the os.stat call. Additionally when the file has not been created we create it; this way we prevent consuming applications to fail reading from a non-existing file. A unit test has been included to reproduce this setup in a simple way. This problem was reported in LIU-111. Signed-off-by: Rodrigo Tobar --- daliuge-engine/dlg/drop.py | 11 +++++++++-- daliuge-engine/test/test_drop.py | 13 ++++++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/daliuge-engine/dlg/drop.py b/daliuge-engine/dlg/drop.py index 956782a38..b54afb674 100644 --- a/daliuge-engine/dlg/drop.py +++ b/daliuge-engine/dlg/drop.py @@ -1143,8 +1143,15 @@ def setCompleted(self): logger.debug("Moving %r to COMPLETED", self) self.status = DROPStates.COMPLETED - # here we set the size - self._size = os.stat(self.path).st_size + # here we set the size. It could happen that nothing is written into + # this file, in which case we create an empty file so applications + # downstream don't fail to read + try: + self._size = os.stat(self.path).st_size + except FileNotFoundError: + with open(self.path, 'wb'): + pass + self._size = 0 # Signal our subscribers that the show is over self._fire('dropCompleted', status=DROPStates.COMPLETED) diff --git a/daliuge-engine/test/test_drop.py b/daliuge-engine/test/test_drop.py index 321541022..41211e1dd 100644 --- a/daliuge-engine/test/test_drop.py +++ b/daliuge-engine/test/test_drop.py @@ -36,7 +36,7 @@ DirectoryContainer, ContainerDROP, InputFiredAppDROP, RDBMSDrop from dlg.droputils import DROPWaiterCtx from dlg.exceptions import InvalidDropException -from dlg.apps.simple import NullBarrierApp, SimpleBranch +from dlg.apps.simple import NullBarrierApp, SimpleBranch, SleepAndCopyApp try: @@ -132,6 +132,17 @@ def _test_write_withDropType(self, dropType): self.assertEqual(a.checksum, test_crc) self.assertEqual(cChecksum, test_crc) + def test_no_write_to_file_drop(self): + """Check that FileDrops can be *not* written""" + a = FileDROP('a', 'a') + b = SleepAndCopyApp('b', 'b') + c = InMemoryDROP('c', 'c') + a.addConsumer(b) + b.addOutput(c) + with DROPWaiterCtx(self, c): + a.setCompleted() + self.assertEqual(droputils.allDropContents(c), b'') + def test_simple_chain(self): ''' Simple test that creates a pipeline-like chain of commands. From 507368e5b50a9e16d33e4b356ed34d51e7cdad72 Mon Sep 17 00:00:00 2001 From: Rodrigo Tobar Date: Wed, 14 Jul 2021 15:06:31 +0800 Subject: [PATCH 03/12] Handle SKIPPED states gracefully in FileDROP FileDROP.setCompleted is almost a verbatim copy of Drop.setCompleted, but it was missing the new additions from the new SKIPPED state. At some point we should look into merging these two implementations to avoid code duplication. Together with this fix, I've modified the existing branch tests to ensure branches work with FileDROPs as well. Signed-off-by: Rodrigo Tobar --- daliuge-engine/dlg/drop.py | 7 ++++++- daliuge-engine/test/test_drop.py | 15 +++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/daliuge-engine/dlg/drop.py b/daliuge-engine/dlg/drop.py index b54afb674..a879a1752 100644 --- a/daliuge-engine/dlg/drop.py +++ b/daliuge-engine/dlg/drop.py @@ -1132,10 +1132,15 @@ def setCompleted(self): ''' Override this method in order to get the size of the drop set once it is completed. ''' + # TODO: This implementation is almost a verbatim copy of the base class' + # so we should look into merging them status = self.status if status == DROPStates.CANCELLED: return - if status not in [DROPStates.INITIALIZED, DROPStates.WRITING]: + elif status == DROPStates.SKIPPED: + self._fire('dropCompleted', status=status) + return + elif status not in [DROPStates.INITIALIZED, DROPStates.WRITING]: raise Exception("%r not in INITIALIZED or WRITING state (%s), cannot setComplete()" % (self, self.status)) self._closeWriters() diff --git a/daliuge-engine/test/test_drop.py b/daliuge-engine/test/test_drop.py index 41211e1dd..dc1eb2cf1 100644 --- a/daliuge-engine/test/test_drop.py +++ b/daliuge-engine/test/test_drop.py @@ -793,12 +793,12 @@ def test_rdbms_drop(self): finally: os.unlink(dbfile) -class BranchAppDropTests(unittest.TestCase): +class BranchAppDropTestsBase(object): """Tests for the BranchAppDrop class""" def _simple_branch_with_outputs(self, result, uids): a = SimpleBranch(uids[0], uids[0], result=result) - b, c = (InMemoryDROP(x, x) for x in uids[1:]) + b, c = (self.DataDropType(x, x) for x in uids[1:]) a.addOutput(b) a.addOutput(c) return a, b, c @@ -832,7 +832,7 @@ def _test_single_branch_graph(self, result, levels): for level, uids in zip(range(levels), all_uids): if level % 2: - x, y = (InMemoryDROP(uid, uid) for uid in uids) + x, y = (self.DataDropType(uid, uid) for uid in uids) last_true.addOutput(x) last_false.addOutput(y) else: @@ -914,4 +914,11 @@ def test_multi_branch_more_levels(self): """Like test_skipped_propagates, but events propagate more levels""" for levels in (3, 4, 5, 6, 7): self._test_multi_branch_graph(True, levels) - self._test_multi_branch_graph(False, levels) \ No newline at end of file + self._test_multi_branch_graph(False, levels) + + +class BranchAppDropTestsWithMemoryDrop(BranchAppDropTestsBase, unittest.TestCase): + DataDropType = InMemoryDROP + +class BranchAppDropTestsWithFileDrop(BranchAppDropTestsBase, unittest.TestCase): + DataDropType = FileDROP \ No newline at end of file From 6f3016b4cbce04a066f4f19a3981ac020c7a174e Mon Sep 17 00:00:00 2001 From: M-Wicenec Date: Thu, 15 Jul 2021 09:59:05 +0800 Subject: [PATCH 04/12] slight css change --- daliuge-engine/dlg/manager/web/static/css/dm.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/daliuge-engine/dlg/manager/web/static/css/dm.css b/daliuge-engine/dlg/manager/web/static/css/dm.css index 62f70ad28..ba12a08c9 100644 --- a/daliuge-engine/dlg/manager/web/static/css/dm.css +++ b/daliuge-engine/dlg/manager/web/static/css/dm.css @@ -83,9 +83,9 @@ color:rgba(0,35,73,1); } -svg { +.status svg { width: 100%; - height: auto; + height: 100%; overflow: hidden; } From de1af47eb77770201a23ce60b7122f0d1a84e810 Mon Sep 17 00:00:00 2001 From: M-Wicenec Date: Thu, 15 Jul 2021 14:32:01 +0800 Subject: [PATCH 05/12] status bars in dim mostly implemented --- daliuge-engine/dlg/manager/web/dim.html | 1 + daliuge-engine/dlg/manager/web/dm.html | 1 + daliuge-engine/dlg/manager/web/session.html | 1 + .../dlg/manager/web/static/css/dm.css | 67 ++++++------------- .../manager/web/static/css/progressBar.css | 48 +++++++++++++ .../dlg/manager/web/static/css/session.css | 51 -------------- .../dlg/manager/web/static/js/dm.js | 6 +- 7 files changed, 73 insertions(+), 102 deletions(-) create mode 100644 daliuge-engine/dlg/manager/web/static/css/progressBar.css diff --git a/daliuge-engine/dlg/manager/web/dim.html b/daliuge-engine/dlg/manager/web/dim.html index 7abb00304..7873e2974 100644 --- a/daliuge-engine/dlg/manager/web/dim.html +++ b/daliuge-engine/dlg/manager/web/dim.html @@ -11,6 +11,7 @@ + diff --git a/daliuge-engine/dlg/manager/web/dm.html b/daliuge-engine/dlg/manager/web/dm.html index c5d531f0f..c61727efb 100644 --- a/daliuge-engine/dlg/manager/web/dm.html +++ b/daliuge-engine/dlg/manager/web/dm.html @@ -11,6 +11,7 @@ + diff --git a/daliuge-engine/dlg/manager/web/session.html b/daliuge-engine/dlg/manager/web/session.html index 19788bcd6..1c2f96311 100644 --- a/daliuge-engine/dlg/manager/web/session.html +++ b/daliuge-engine/dlg/manager/web/session.html @@ -13,6 +13,7 @@ + diff --git a/daliuge-engine/dlg/manager/web/static/css/dm.css b/daliuge-engine/dlg/manager/web/static/css/dm.css index ba12a08c9..4ef74fb47 100644 --- a/daliuge-engine/dlg/manager/web/static/css/dm.css +++ b/daliuge-engine/dlg/manager/web/static/css/dm.css @@ -82,56 +82,27 @@ color:rgba(0,35,73,1); cursor: default; } + tr td:nth-child(n+2),tr th:nth-child(n+2) { + text-align: right; +} + +tr td.actions button{ + padding: 2px 4px; + font-size:16px; +} + +tr td.actions{ + padding:9px 12px; +} .status svg { width: 100%; - height: 100%; - overflow: hidden; - } - - .node rect, .node polygon { - stroke-width: 2.0px; - stroke: #bbb; - } - - /* DROP states */ - .node.initialized :first-child, rect.initialized { - fill: #ffe; - } - - .node.writing :first-child, rect.writing { - fill: #ecde7b; - } - - .node.completed :first-child, rect.completed { - fill: #7bdc7b; + height: 20px; + position: relative; } - .node.expired :first-child, rect.expired { - fill: #700000; - } - - .node.cancelled :first-child, rect.cancelled { - fill: #cccccc; - } - - .node.deleted :first-child, rect.deleted { - color: #700000; - } - - /* AppDROP states */ - .node.not_run :first-child, rect.not_run { - fill: #ffe; - } - - .node.running :first-child, rect.running { - fill: #ecde7b; - } - - .node.finished :first-child, rect.finished { - fill: #7bdc7b; - } - - .node.error :first-child, rect.error { - fill: #e44f33; - } \ No newline at end of file +.status { + width: 150px; + height:30px; + overflow: hidden; +} diff --git a/daliuge-engine/dlg/manager/web/static/css/progressBar.css b/daliuge-engine/dlg/manager/web/static/css/progressBar.css new file mode 100644 index 000000000..09b18cb78 --- /dev/null +++ b/daliuge-engine/dlg/manager/web/static/css/progressBar.css @@ -0,0 +1,48 @@ + + .node rect, .node polygon { + stroke-width: 2.0px; + stroke: #bbb; + height:100%; + } + + /* DROP states */ + .node.initialized :first-child, rect.initialized { + fill: #ffe; + } + + .node.writing :first-child, rect.writing { + fill: #ecde7b; + } + + .node.completed :first-child, rect.completed { + fill: #7bdc7b; + } + + .node.expired :first-child, rect.expired { + fill: #700000; + } + + .node.cancelled :first-child, rect.cancelled { + fill: #cccccc; + } + + .node.deleted :first-child, rect.deleted { + color: #700000; + } + + /* AppDROP states */ + .node.not_run :first-child, rect.not_run { + fill: #ffe; + } + + .node.running :first-child, rect.running { + fill: #ecde7b; + } + + .node.finished :first-child, rect.finished { + fill: #7bdc7b; + } + + .node.error :first-child, rect.error { + fill: #e44f33; + } \ No newline at end of file diff --git a/daliuge-engine/dlg/manager/web/static/css/session.css b/daliuge-engine/dlg/manager/web/static/css/session.css index d9f767d49..f8bef16b6 100644 --- a/daliuge-engine/dlg/manager/web/static/css/session.css +++ b/daliuge-engine/dlg/manager/web/static/css/session.css @@ -52,57 +52,6 @@ svg { overflow: hidden; } -.node rect, .node polygon { - stroke-width: 2.0px; - stroke: #bbb; -} - -/* DROP states */ -.node.initialized :first-child, rect.initialized { - fill: #ffe; -} - -.node.writing :first-child, rect.writing { - fill: #ecde7b; -} - -.node.completed :first-child, rect.completed { - fill: #7bdc7b; -} - -.node.expired :first-child, rect.expired { - fill: #700000; -} - -.node.cancelled :first-child, rect.cancelled { - fill: #cccccc; -} - -.node.deleted :first-child, rect.deleted { - color: #700000; -} - -/* AppDROP states */ -.node.not_run :first-child, rect.not_run { - fill: #ffe; -} - -.node.running :first-child, rect.running { - fill: #ecde7b; -} - -.node.finished :first-child, rect.finished { - fill: #7bdc7b; -} - -.node.error :first-child, rect.error { - fill: #e44f33; -} - -.node.container polygon { - stroke-dasharray: 5; -} - .node g div { width: 180px; height: 60px; diff --git a/daliuge-engine/dlg/manager/web/static/js/dm.js b/daliuge-engine/dlg/manager/web/static/js/dm.js index 48420b30d..af65d6639 100644 --- a/daliuge-engine/dlg/manager/web/static/js/dm.js +++ b/daliuge-engine/dlg/manager/web/static/js/dm.js @@ -194,7 +194,6 @@ function loadSessions(serverUrl, tbodyEl, refreshBtn, selectedNode, delay) { console.log(width) var status_update_handler = function(statuses){ - //doesnt enter console.log("status_counts"); var states = ['completed', 'finished', 'running', 'writing', @@ -224,7 +223,7 @@ function loadSessions(serverUrl, tbodyEl, refreshBtn, selectedNode, delay) { }); var rects = d3.select('#sessionsTable .status svg').selectAll('rect').data(status_counts); rects.enter().append('rect') - .style('height', 20).style('width', 0).style('x', 0).style('y', 20) + .style('height', 20).style('width', 0).style('x', 0).style('y', 0) .transition().delay(0).duration(500) .style('x', function(d) { return d[0] + 20; }) .style('width', function(d) { return d[1]; }) @@ -257,7 +256,6 @@ function loadSessions(serverUrl, tbodyEl, refreshBtn, selectedNode, delay) { cancel_session(serverUrl, session.sessionId, cancelSessionBtn); }); }) - //update status colours and hide cancel button if finished or cancelled $(".status").each(function(){ @@ -269,7 +267,9 @@ function loadSessions(serverUrl, tbodyEl, refreshBtn, selectedNode, delay) { $(this).css("color","blue"); } else if (currentStatus==="Running") { + console.log("hi") $(this).text(""); + $(this).parent().find(".actions").find("button").show(); $(this).append("") startStatusQuery(serverUrl, $(this).parent().find(".id").text(), selectedNode, graph_update_handler, status_update_handler, 1000); From d563dcdfaa2119ee69adf5adb78603c6235e4917 Mon Sep 17 00:00:00 2001 From: M-Wicenec Date: Thu, 15 Jul 2021 15:27:35 +0800 Subject: [PATCH 06/12] fixed an issue with the progress bar update script being called every few seconds --- daliuge-engine/dlg/manager/web/session.html | 1 + daliuge-engine/dlg/manager/web/static/js/dm.js | 13 ++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/daliuge-engine/dlg/manager/web/session.html b/daliuge-engine/dlg/manager/web/session.html index 1c2f96311..22f57e79c 100644 --- a/daliuge-engine/dlg/manager/web/session.html +++ b/daliuge-engine/dlg/manager/web/session.html @@ -97,6 +97,7 @@ var status_update_handler = function(statuses) { + console.log("status_counts"); var states = ['completed', 'finished', 'running', 'writing', diff --git a/daliuge-engine/dlg/manager/web/static/js/dm.js b/daliuge-engine/dlg/manager/web/static/js/dm.js index af65d6639..f46117f01 100644 --- a/daliuge-engine/dlg/manager/web/static/js/dm.js +++ b/daliuge-engine/dlg/manager/web/static/js/dm.js @@ -260,24 +260,31 @@ function loadSessions(serverUrl, tbodyEl, refreshBtn, selectedNode, delay) { //update status colours and hide cancel button if finished or cancelled $(".status").each(function(){ var currentStatus = $(this).html() + if(currentStatus==="Cancelled"){ $(this).css("color","grey"); $(this).parent().find(".actions").find("button").hide(); + $(this).parent().removeClass("progressRunning") }else if(currentStatus==="Deploying"){ $(this).css("color","blue"); + $(this).parent().removeClass("progressRunning") } else if (currentStatus==="Running") { - console.log("hi") $(this).text(""); $(this).parent().find(".actions").find("button").show(); $(this).append("") - startStatusQuery(serverUrl, $(this).parent().find(".id").text(), selectedNode, graph_update_handler, - status_update_handler, 1000); + if(!$(this).parent().hasClass('progressRunning')){ + startStatusQuery(serverUrl, $(this).parent().find(".id").text(), selectedNode, graph_update_handler, + status_update_handler, 1000); + $(this).parent().addClass("progressRunning") + } }else if (currentStatus==="Finished"){ $(this).css("color","#00af28"); $(this).parent().find(".actions").find("button").hide(); + $(this).parent().removeClass("progressRunning") }else{ $(this).css("color","purple"); + $(this).parent().removeClass("progressRunning") } }) From f4462e827bf2c9f0f9583f924864e9f8d4d95706 Mon Sep 17 00:00:00 2001 From: M-Wicenec Date: Thu, 15 Jul 2021 15:41:42 +0800 Subject: [PATCH 07/12] removed console logs and wip comments --- daliuge-engine/dlg/manager/web/session.html | 3 +-- daliuge-engine/dlg/manager/web/static/js/dm.js | 4 +--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/daliuge-engine/dlg/manager/web/session.html b/daliuge-engine/dlg/manager/web/session.html index 22f57e79c..ab3d72ca1 100644 --- a/daliuge-engine/dlg/manager/web/session.html +++ b/daliuge-engine/dlg/manager/web/session.html @@ -97,7 +97,6 @@ var status_update_handler = function(statuses) { - console.log("status_counts"); var states = ['completed', 'finished', 'running', 'writing', @@ -162,7 +161,7 @@ d3.select('#pg-progress-bar').remove(); const heightValue = 300; -const widthValue = 600; + const widthValue = 600; // Set up zoom support var svg = d3.select("svg"); diff --git a/daliuge-engine/dlg/manager/web/static/js/dm.js b/daliuge-engine/dlg/manager/web/static/js/dm.js index f46117f01..b9f917b6b 100644 --- a/daliuge-engine/dlg/manager/web/static/js/dm.js +++ b/daliuge-engine/dlg/manager/web/static/js/dm.js @@ -187,14 +187,12 @@ function loadSessions(serverUrl, tbodyEl, refreshBtn, selectedNode, delay) { sizeCells.text(String) sizeCells.exit().remove() - //WIP statusbars in dim + //progressbars in dim const width = $('#sessionsTable').find('.status').innerWidth(); var graph_update_handler = function(oids, dropSpecs) {}; - console.log(width) var status_update_handler = function(statuses){ - console.log("status_counts"); var states = ['completed', 'finished', 'running', 'writing', 'error', 'expired', 'deleted', From f07206bc7eb0da8d39cc669b08efd38d66370e69 Mon Sep 17 00:00:00 2001 From: awicenec Date: Fri, 16 Jul 2021 10:36:38 +0800 Subject: [PATCH 08/12] Delete .DS_Store --- .DS_Store | Bin 10244 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 8ee4615a1a98f824f151a2dd8d08dbeffd3cae92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10244 zcmeHM&u<$=6n>kUcwj#m?RArF*SnT? zO$Z^aFI*6y9$TpgE*!Y=2XI3|95?_M&in_6O1;AOX2;IV+Hss7Dq77%vu}6ieKT*q zc{7tYCL*iYcISv3BC?TL=8xhrAaOnCzBDFF&O%zilfN-nu7!XFs1BL;^ zfMMYO!T`=}PWFq5G*82TVZboZV}SPu2bpC-%1$E1)`5oz0U$Fd776cpet~qPEJ)c& zBx;bX1PYlzEg5212^{5))GJ8YNn`>iO9mg7?AekLiY0nS`;Jg2tB^?ZGz=I9`WfKZ zJwr3JK_10g{QmnlZ>n{TuvDu0VHIWecPDR+Po4N_L9cg*);BkmyMaHx1r#g2N^SJ( zlS^yJKCD=y7FB2)7DcqV?1wekCok(u$fy4miQ#k%mhL~%~1Oq;T~V3Vl)n|b(l4PgE|FbHUp~b99WakAI_hGt!_n4 z$^9?Yrtd}Z?ChV`*pbW&<5}Cz<#I3OZj?8}t#Vw6+flL7y3SuKm3Xr%-#-dNzxQ6L zUiIo*Yx(1gVGvimpxzQ-&#gn{<5e$k!>wZ24%|qzQ%)*udtzc@EkC)l^Va;dGk@;F z?zFRW@#5^XbAJB9?(T#=d1~(R@_J+Yvz^a(@7!lXu=UF$f?iI(d(Q`W>z@;4%-X!a z`g7+XeRba7n7Xn5yeoaE^FAs@oA=j#-~kOC$0y}h;D^Bm^q7l$-#Y28v2CoM2KgyJ z`2rZ#PhRQ6$6}QRSff5#h_T*UsWu)xNgL0p&yB>N=6jd#df;y)oa%!ozjC`iI3jj$ z4>~MX^U1gG!Q9d8P5EYyO7NZ<-NydiqMPD0NbOr<-@mWz`vWjIF@#s^en`CUtJn;D znfr@$J+U_q)YIl=eCjW>*K0%N{^6HimwTmtkKaM{8i&~x=Fk>=e2NorAQu*|P1VjU zy-UlqNK5oSm1!w8Dqe-U_6O7i(*Z5e3N7o}%(G=HJZDMM)|jBq8MK|!Q2BTqt##(^cX0MK&CxWl=NwS4X&~sB` zhJR>d&e4b9asjjO9whrzM6r%xU(qmG=+vO;!HT%gvoK@Bv~^bVUkg^X_Ec7X{HNz- zsb1A{Wq&Q5)!&#^8`jrhcN^BvAaAEe3m?+#XN*aP0mFb{z%cMEGjJp^-r@WIC4>q4 z{Qmze57F3e7%&VRz<`x0l}kk^buUiR`eP_?kk^qpv0f*U0)hvtaJjgS#|K}>pO$5_ xEIFaRAY~_!0*-P4hkQyu20Yz6r;%cDEe Date: Fri, 16 Jul 2021 10:37:13 +0800 Subject: [PATCH 09/12] Delete .DS_Store --- daliuge-translator/.DS_Store | Bin 8196 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 daliuge-translator/.DS_Store diff --git a/daliuge-translator/.DS_Store b/daliuge-translator/.DS_Store deleted file mode 100644 index 547c39b73b1ac7d937553643616136726c441217..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHM&2G~`5FWQ7IH?dtfLabnz94~AP)q*~2q_H-s0R?j6+Hk-o!Ck&9B+u7h7y8u z;ldM?N8l|$TzCK^PCNw<0N?&Jv6B>W0aap0+MV^z&(40cwlfY98O4sfLbOOkCK~7S zbLgfJm-9A3Giqi5+<-liOBIT#O%8<<+Im7Gpb^jrXaqC@8iA950N&Z0%wyjBQmT86 zfJWfIM1VgZEHuswiVq|gj}COA1OU%qS`fyl1B8vGctP=j|+CeqX zP|x3>h#K1gt5pM5g$2LKZlPWMDF`E?Sy%^DAJh6UU8~xSTFTd#YAf)gczOAoF*BPv zl|5~m`F#FN{+ZoiT|0K-PE>T-Px#eCCvH^Lc!#lIICiR!eXm=Yzi@|zvEzqcTNwMU z2bHJ0e(17pk##~h5`JtcFwI;pSD9bv_10IHtks(v{Uxinxw*V#t*vhK`#E#r%F6BS zz2?EI-s}FGL$OOT)B}jl%IjhO9wUW8P+zfYtl1K>wXeG)Nt2aIYTst1>}IcB`n;8t zy1$XO8VRrKAGve2-oD)q0~XdX!=uY06O3x~oIGl$^I`COC$pB)O~p;wPvgFl(O(XR z(WiVg*=P^P>7;f-7M7tox=&m5fVSx_mC2?ZoH?JuvFP7IGZ}r39zlDHO0X`&qDk(U z#g8$Ib2!Z%e4QG7r}~p~ewaAtChi3f_eF@%j96FcD9 zNbZ1p!}-(ie-4Bujlc; Date: Fri, 16 Jul 2021 10:40:11 +0800 Subject: [PATCH 10/12] deleted stray .DS_Store files --- daliuge-translator/dlg/.DS_Store | Bin 6148 -> 0 bytes daliuge-translator/dlg/dropmake/.DS_Store | Bin 6148 -> 0 bytes daliuge-translator/dlg/dropmake/web/.DS_Store | Bin 6148 -> 0 bytes .../dlg/dropmake/web/src/.DS_Store | Bin 8196 -> 0 bytes .../dlg/dropmake/web/src/bootstrap/.DS_Store | Bin 6148 -> 0 bytes .../dlg/dropmake/web/src/icons/.DS_Store | Bin 6148 -> 0 bytes 6 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 daliuge-translator/dlg/.DS_Store delete mode 100644 daliuge-translator/dlg/dropmake/.DS_Store delete mode 100644 daliuge-translator/dlg/dropmake/web/.DS_Store delete mode 100644 daliuge-translator/dlg/dropmake/web/src/.DS_Store delete mode 100644 daliuge-translator/dlg/dropmake/web/src/bootstrap/.DS_Store delete mode 100644 daliuge-translator/dlg/dropmake/web/src/icons/.DS_Store diff --git a/daliuge-translator/dlg/.DS_Store b/daliuge-translator/dlg/.DS_Store deleted file mode 100644 index 0fb39b5e6e43bd7ab691f8b1c1aa53992bbaea86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~(QeZ)6o!wt!rV-VULcjr+#qpLp_YzK6GDp0xY!+15L^K25>l~ExT^fIcBV_ScvRQ9(X#jn%RblAH0T;)}i=A%LOywWZ$9W$1$O6Q2Dk+0jU|1}&6K%v@WW6%y3V!ms_({XBw-0{(owfO` zoa-fqz~gLf0`^}lx7QxY4d4hk0ym8S?+-qlHLzM6)msM&eFcCv(5wx0{#f7~-)dmB zHi{mYFsV?JD(n?Qm~^!JHZHJQ8#U=9?Bzq)Hw$}15&G>I-`C+J0;8^U1RQ}y0-NTs z#pnNvf8YNXliZUd;0W9(0-|vc9tjegtRZxZ0>rL1B+$UE!nnK3p66 Ye6BzPtF=+Iz}$y`#^4G^;93d%2Cj<2I{*Lx diff --git a/daliuge-translator/dlg/dropmake/.DS_Store b/daliuge-translator/dlg/dropmake/.DS_Store deleted file mode 100644 index a2130f0413590c366a2278c39cfb04ad0e3e0d93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK!EVz)5S?w(;yA6E15!Bpg2W+0DJ`@TLW)8;^oC>v2SBM^TZtvdj$#KZgrHpb zhw=&h34g$c@B#2`>f!g0MjO#)z$jo8_}3KRcegIz*@zNaeSfDHaeC#)sgDRQ4^QC_en~@b z$r{m=uE>KADCBiYtZyaO9wG~hWrZl+K{QLTbqZ*RH7BSl5jfda)|V2ig2;&c_2&>j zOHqfYP<^c3$5SWpF>=T$1#;~wJ(l6z4SjwLw?LWI0~6D2`fbkj)^WO5x> zO;}c~R_isIv)Renqn7jdc;0emr>E_fb8`G-KCfBL`$x|%E{D^PvrqHS*T@$pu;WNO z)VPGN=x7Z-xZ@;FlRie4(aR`dgibfs*fK?1j zL!UnunB!>dXj~}73`{60P*H_GVhBaYxTE7b8W#!`orFGo2z_UvPbfm(9qT(XoJ2>V zX^jF#fprBc>axN6|BKtt|LY`kWfU+9{8tKy>bZN~MM`>a-AIo2S_gg!XXChqLPWv;7iySpnn0U=5V`>oF>L&Y z(LeAz+_-mP{0kF5Ku2CNqPN9dF9BX z4zd^_7hCK?sa1%1j}oic#H`lZEZ$-Mr1y^Sj;RmEE5sQBBgE-q-}A{^kzJB~7P}(P zjYQ$DNh-y~<8Gm|Y#a&yqABUm$yKUJ|-1ewhIDbD3 zV#^KMeL;4eHe8-Rbpt0H)xtsGL}H$X959SrF4rs+CzG3%l3BUFH!Ycy{rz&uyiwVk zPIE@_^6uS(Lx22w@@D$>2yY0+aQ+C}Q8aRmTo(Jc&Z{%3)6Oodg2Gl>|1F-ZkVDpOYsCh6!m zm0wliOroR{QA~SVEVIn%_H-$T~szhCD1+)T-3S{JCfuH{m*5CgZN%~1EpcVM9 z6kyqUqh7<3)Y-bUIDXceD2FKAxZg~oprBI6v1st4_yUSBjG4RvtSX#IL=Q~=5fC!y KN-OYB75D{o*Y(8! diff --git a/daliuge-translator/dlg/dropmake/web/src/.DS_Store b/daliuge-translator/dlg/dropmake/web/src/.DS_Store deleted file mode 100644 index 5d1b3e228c0aeda8d6fe035fdb0f9dbecf44f01b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMJ8u&~5S}FtoQ)7c3QEeOK%y{y#32bnNX9WmB!rL-LIEhb^I6HE^PTaXu@YnC zhKfHBphu$MCs5HqN5{XQp`?Is9|`AIL=_=<$J(9UotfL+Z|1z7H4(8&+bt3;5|M$z z`P^AlV~ERn8KF~ZB=(JcVIFXd@30Hm2fb#ru*AQ#?~<4@{Xdm0~by z4!OzI!OM#GC70&Jq&YD)GgBD~6SKq46zasvlIvO{pb;2FfamUMawx&RB!I*h+FX`LuSGTRNh`RkRxm&65V}gsl%o<#5p5SU@yiyXS+r`H z8*^>=15Wz@Y0_y4O{Wtz70zFsrtd{@q41rZnn}%`K4TaeBXchE#M%uzR&2-ZsA9Js z@!mZ<-gQ*_K3sj&ww+C{-r1U)Uk`)W_JVp#7<+CVDvuv}fg5%zVLNam@f=GE3?pr% zx8@eR-O}1x)?6xF?`6&I>S`ftE|*q%y|l4#xp;G9yRo<5ebIaQ2HOEKbpX(L**~h^ zqLtXI@>xBWK9>{DnP8ys%0u;rB0N{GK@} zzo+5%g>Ls+DQlLNR*rT10d@kK=yo0!YIj4}8o<#$2FahWOd`pr(WDWW8U$wKP8WIp ze|z%%|J2~2H>wesMg&-@YE>)P`QcBiVGww(ZK7G>$%P3jk&c6lbR7KX4@0y~ dsB)XK;(f_60y^=FfWxGQ>GNMWKvz?Vz#l$ZQ{Vsq diff --git a/daliuge-translator/dlg/dropmake/web/src/bootstrap/.DS_Store b/daliuge-translator/dlg/dropmake/web/src/bootstrap/.DS_Store deleted file mode 100644 index 55196a0dad6e0a774d291542e68b36d2faac6611..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK!A`~U9^f&a6`~rW+ zncanG(1RCaWG0z?)7hDA_qEySFvfUu=v5gjGR6cbVkQs67lQMsbCNNhEFi}<;#)U} zT)295Z|9=P@fR7ucb8>d7PHtLeSCj`A19T{8_#5OOUo-l6hvXIaB26Wk)1fnFm5`7 zbG$lslD=!~lPC&iw&R}qy-~ZkaS(-xjtOr0*2Y% zojnMHD7*p>MrYVHi@mrTxbV=^a6)2$7$61~g8_4Biq*x~F71*SAO?QG0GH1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 Date: Fri, 16 Jul 2021 10:52:05 +0800 Subject: [PATCH 11/12] Deleted graph files --- .../dlg/dropmake/branchPattern2.graph | 708 ------------------ .../dlg/dropmake/branchPattern2.pg.graph | 174 ----- 2 files changed, 882 deletions(-) delete mode 100644 daliuge-translator/dlg/dropmake/branchPattern2.graph delete mode 100644 daliuge-translator/dlg/dropmake/branchPattern2.pg.graph diff --git a/daliuge-translator/dlg/dropmake/branchPattern2.graph b/daliuge-translator/dlg/dropmake/branchPattern2.graph deleted file mode 100644 index 40975b5ac..000000000 --- a/daliuge-translator/dlg/dropmake/branchPattern2.graph +++ /dev/null @@ -1,708 +0,0 @@ -{ - "linkDataArray": [ - { - "from": -5, - "fromPort": "d6ea4d68-da83-43d8-a4b9-0e7a94065cae", - "loop_aware": "0", - "to": -6, - "toPort": "ff0a11a2-5969-4d5c-b10e-520d46d5d726" - }, - { - "from": -2, - "fromPort": "cd08b2a9-6627-40b8-9e80-770a24d992fd", - "loop_aware": "0", - "to": -7, - "toPort": "4903980e-e085-4647-84c6-c2993ed5915e" - }, - { - "from": -7, - "fromPort": "f0fefdfc-1f0d-453b-8ba6-edc856046406", - "loop_aware": "0", - "to": -4, - "toPort": "8e19799b-2639-4d6c-a142-64d8586aa42f" - }, - { - "from": -2, - "fromPort": "d36f0a39-bdcf-47f1-9e19-2c2ae32f19bf", - "loop_aware": "0", - "to": -9, - "toPort": "2b43bb09-ff68-4821-a2d8-cd3d0ce22889" - }, - { - "from": -9, - "fromPort": "e473ab2b-dbdc-4be4-b545-6e5054c4c4e7", - "loop_aware": "0", - "to": -3, - "toPort": "6338439e-38c0-4511-968b-8d46ca645e8d" - }, - { - "from": -6, - "fromPort": "1fe972ed-b688-49bb-b048-f8a0be69da1a", - "loop_aware": "0", - "to": -2, - "toPort": "07b7af88-bfc6-46f7-80c4-bd182c32e7b1" - } - ], - "modelData": { - "eagleCommitHash": "6180aad4b42c06bb1b61ea2f18f57bcb8384d786", - "eagleVersion": "v3.0.5", - "filePath": "branchPattern.graph", - "fileType": "graph", - "git_url": "", - "readonly": true, - "repo": "", - "repoBranch": "", - "repoService": "Unknown", - "schemaVersion": "OJS", - "sha": "" - }, - "nodeDataArray": [ - { - "canHaveInputs": false, - "canHaveOutputs": false, - "category": "Description", - "categoryType": "Other", - "collapsed": false, - "color": "#9B3065", - "description": "", - "drawOrderHint": 0, - "exitAppFields": [], - "exitApplicationKey": null, - "exitApplicationName": "", - "exitApplicationType": "None", - "expanded": false, - "fields": [ - { - "description": "", - "name": "", - "readonly": false, - "text": "", - "type": "Unknown", - "value": "This pattern shows a branch construct. NOTE: Branches are still work in progress and will not work as desired in the execution engine. This graph will also be used to guide and test the further implementation." - } - ], - "flipPorts": false, - "height": 138.7811321752724, - "inputAppFields": [], - "inputApplicationKey": null, - "inputApplicationName": "", - "inputApplicationType": "None", - "inputLocalPorts": [], - "inputPorts": [], - "isData": false, - "isGroup": false, - "key": -1, - "outputAppFields": [], - "outputApplicationKey": null, - "outputApplicationName": "", - "outputApplicationType": "None", - "outputLocalPorts": [], - "outputPorts": [], - "precious": false, - "readonly": false, - "selected": false, - "showPorts": false, - "streaming": false, - "subject": null, - "text": "Description", - "width": 203.32409704359478, - "x": 392.61464198071883, - "y": 25.11521521288031 - }, - { - "canHaveInputs": true, - "canHaveOutputs": true, - "category": "Branch", - "categoryType": "Control", - "collapsed": false, - "color": "#00BDA1", - "description": "A conditional branch to control flow.", - "drawOrderHint": 0, - "exitAppFields": [], - "exitApplicationKey": null, - "exitApplicationName": "", - "exitApplicationType": "None", - "expanded": false, - "fields": [ - { - "description": "the number of seconds to sleep", - "name": "sleepTime", - "readonly": false, - "text": "sleepTime", - "type": "Integer", - "value": 5 - }, - { - "description": "Application class", - "name": "appclass", - "readonly": true, - "text": "appclass", - "type": "String", - "value": "dlg.apps.simple.SleepApp" - }, - { - "description": "Estimated execution time", - "name": "execution_time", - "readonly": false, - "text": "Execution time", - "type": "Float", - "value": 5 - }, - { - "description": "Number of cores used", - "name": "num_cpus", - "readonly": false, - "text": "Num CPUs", - "type": "Integer", - "value": 1 - }, - { - "description": "Component is start of a group", - "name": "group_start", - "readonly": false, - "text": "Group start", - "type": "Boolean", - "value": false - } - ], - "flipPorts": false, - "height": 200, - "inputAppFields": [ - ], - "inputPorts": [ - { - "Id": "07b7af88-bfc6-46f7-80c4-bd182c32e7b1", - "IdText": "Input", - "event": false, - "type": "String" - } - ], - "isData": false, - "isGroup": false, - "key": -2, - "outputApplicationKey": null, - "outputApplicationName": "", - "outputApplicationType": "None", - "outputLocalPorts": [], - "outputPorts": [ - { - "Id": "cd08b2a9-6627-40b8-9e80-770a24d992fd", - "IdText": "Y", - "event": false, - "type": "String" - }, - { - "Id": "d36f0a39-bdcf-47f1-9e19-2c2ae32f19bf", - "IdText": "N", - "event": false, - "type": "String" - } - ], - "precious": false, - "readonly": false, - "selected": false, - "showPorts": false, - "streaming": false, - "subject": null, - "text": "Branch", - "width": 200, - "x": 696.215505295709, - "y": 470.54421905458094 - }, - { - "canHaveInputs": true, - "canHaveOutputs": true, - "category": "PythonApp", - "categoryType": "Application", - "collapsed": false, - "color": "#3498DB", - "description": "A simple APP that sleeps the specified amount of time (0 by default). This is mainly useful (and used) to test graph translation and structure without executing real algorithms. Very useful for debugging.", - "drawOrderHint": 0, - "exitAppFields": [], - "exitApplicationKey": null, - "exitApplicationName": "", - "exitApplicationType": "None", - "expanded": false, - "fields": [ - { - "description": "the number of seconds to sleep", - "name": "sleepTime", - "readonly": false, - "text": "sleepTime", - "type": "Integer", - "value": 5 - }, - { - "description": "Application class", - "name": "appclass", - "readonly": true, - "text": "appclass", - "type": "String", - "value": "dlg.apps.simple.SleepApp" - }, - { - "description": "Estimated execution time", - "name": "execution_time", - "readonly": false, - "text": "Execution time", - "type": "Float", - "value": 5 - }, - { - "description": "Number of cores used", - "name": "num_cpus", - "readonly": false, - "text": "Num CPUs", - "type": "Integer", - "value": 1 - }, - { - "description": "Component is start of a group", - "name": "group_start", - "readonly": false, - "text": "Group start", - "type": "Boolean", - "value": false - } - ], - "flipPorts": false, - "height": 200, - "inputAppFields": [], - "inputApplicationKey": null, - "inputApplicationName": "", - "inputApplicationType": "None", - "inputLocalPorts": [], - "inputPorts": [ - { - "Id": "6338439e-38c0-4511-968b-8d46ca645e8d", - "IdText": "N", - "event": false, - "type": "String" - } - ], - "isData": false, - "isGroup": false, - "key": -3, - "outputAppFields": [], - "outputApplicationKey": null, - "outputApplicationName": "", - "outputApplicationType": "None", - "outputLocalPorts": [], - "outputPorts": [], - "precious": false, - "readonly": false, - "selected": false, - "showPorts": false, - "streaming": false, - "subject": null, - "text": "NoApp", - "width": 200, - "x": 1041.4673658268866, - "y": 478.19241314177 - }, - { - "canHaveInputs": true, - "canHaveOutputs": true, - "category": "PythonApp", - "categoryType": "Application", - "collapsed": false, - "color": "#3498DB", - "description": "A simple APP that sleeps the specified amount of time (0 by default). This is mainly useful (and used) to test graph translation and structure without executing real algorithms. Very useful for debugging.", - "drawOrderHint": 0, - "exitAppFields": [], - "exitApplicationKey": null, - "exitApplicationName": "", - "exitApplicationType": "None", - "expanded": false, - "fields": [ - { - "description": "the number of seconds to sleep", - "name": "sleepTime", - "readonly": false, - "text": "sleepTime", - "type": "Integer", - "value": 5 - }, - { - "description": "Application class", - "name": "appclass", - "readonly": true, - "text": "appclass", - "type": "String", - "value": "dlg.apps.simple.SleepApp" - }, - { - "description": "Estimated execution time", - "name": "execution_time", - "readonly": false, - "text": "Execution time", - "type": "Float", - "value": 5 - }, - { - "description": "Number of cores used", - "name": "num_cpus", - "readonly": false, - "text": "Num CPUs", - "type": "Integer", - "value": 1 - }, - { - "description": "Component is start of a group", - "name": "group_start", - "readonly": false, - "text": "Group start", - "type": "Boolean", - "value": false - } - ], - "flipPorts": false, - "height": 200, - "inputAppFields": [], - "inputApplicationKey": null, - "inputApplicationName": "", - "inputApplicationType": "None", - "inputLocalPorts": [], - "inputPorts": [ - { - "Id": "8e19799b-2639-4d6c-a142-64d8586aa42f", - "IdText": "Y", - "event": false, - "type": "String" - } - ], - "isData": false, - "isGroup": false, - "key": -4, - "outputAppFields": [], - "outputApplicationKey": null, - "outputApplicationName": "", - "outputApplicationType": "None", - "outputLocalPorts": [], - "outputPorts": [], - "precious": false, - "readonly": false, - "selected": false, - "showPorts": false, - "streaming": false, - "subject": null, - "text": "YesApp", - "width": 200, - "x": 781.533996081309, - "y": 673.3141387138617 - }, - { - "canHaveInputs": true, - "canHaveOutputs": true, - "category": "PythonApp", - "categoryType": "Application", - "collapsed": false, - "color": "#3498DB", - "description": "A simple APP that sleeps the specified amount of time (0 by default). This is mainly useful (and used) to test graph translation and structure without executing real algorithms. Very useful for debugging.", - "drawOrderHint": 0, - "exitAppFields": [], - "exitApplicationKey": null, - "exitApplicationName": "", - "exitApplicationType": "None", - "expanded": false, - "fields": [ - { - "description": "the number of seconds to sleep", - "name": "sleepTime", - "readonly": false, - "text": "sleepTime", - "type": "Integer", - "value": 5 - }, - { - "description": "Application class", - "name": "appclass", - "readonly": true, - "text": "appclass", - "type": "String", - "value": "dlg.apps.simple.SleepApp" - }, - { - "description": "Estimated execution time", - "name": "execution_time", - "readonly": false, - "text": "Execution time", - "type": "Float", - "value": 5 - }, - { - "description": "Number of cores used", - "name": "num_cpus", - "readonly": false, - "text": "Num CPUs", - "type": "Integer", - "value": 1 - }, - { - "description": "Component is start of a group", - "name": "group_start", - "readonly": false, - "text": "Group start", - "type": "Boolean", - "value": false - } - ], - "flipPorts": false, - "height": 200, - "inputAppFields": [], - "inputApplicationKey": null, - "inputApplicationName": "", - "inputApplicationType": "None", - "inputLocalPorts": [], - "inputPorts": [], - "isData": false, - "isGroup": false, - "key": -5, - "outputAppFields": [], - "outputApplicationKey": null, - "outputApplicationName": "", - "outputApplicationType": "None", - "outputLocalPorts": [], - "outputPorts": [ - { - "Id": "d6ea4d68-da83-43d8-a4b9-0e7a94065cae", - "IdText": "Input", - "event": false, - "type": "String" - } - ], - "precious": false, - "readonly": false, - "selected": false, - "showPorts": false, - "streaming": false, - "subject": null, - "text": "StartApp", - "width": 200, - "x": 278.48731015063254, - "y": 305.44739922270634 - }, - { - "canHaveInputs": true, - "canHaveOutputs": true, - "category": "Memory", - "categoryType": "Data", - "collapsed": false, - "color": "#394BB2", - "description": "", - "drawOrderHint": 0, - "exitAppFields": [], - "exitApplicationKey": null, - "exitApplicationName": "", - "exitApplicationType": "None", - "expanded": false, - "fields": [ - { - "description": "Estimated size of the data contained in this node", - "name": "data_volume", - "readonly": false, - "text": "Data volume", - "type": "Float", - "value": 5 - }, - { - "description": "Is this node the end of a group?", - "name": "group_end", - "readonly": false, - "text": "Group end", - "type": "Boolean", - "value": false - } - ], - "flipPorts": false, - "height": 200, - "inputAppFields": [], - "inputApplicationKey": null, - "inputApplicationName": "", - "inputApplicationType": "None", - "inputLocalPorts": [], - "inputPorts": [ - { - "Id": "ff0a11a2-5969-4d5c-b10e-520d46d5d726", - "IdText": "Input", - "event": false, - "type": "String" - } - ], - "isData": true, - "isGroup": false, - "key": -6, - "outputAppFields": [], - "outputApplicationKey": null, - "outputApplicationName": "", - "outputApplicationType": "None", - "outputLocalPorts": [], - "outputPorts": [ - { - "Id": "1fe972ed-b688-49bb-b048-f8a0be69da1a", - "IdText": "Input", - "event": false, - "type": "String" - } - ], - "precious": false, - "readonly": false, - "selected": false, - "showPorts": false, - "streaming": false, - "subject": null, - "text": "Memory", - "width": 200, - "x": 579.8721087698915, - "y": 313.2036256577609 - }, - { - "canHaveInputs": true, - "canHaveOutputs": true, - "category": "Memory", - "categoryType": "Data", - "collapsed": false, - "color": "#394BB2", - "description": "", - "drawOrderHint": 0, - "exitAppFields": [], - "exitApplicationKey": null, - "exitApplicationName": "", - "exitApplicationType": "None", - "expanded": false, - "fields": [ - { - "description": "Estimated size of the data contained in this node", - "name": "data_volume", - "readonly": false, - "text": "Data volume", - "type": "Float", - "value": 5 - }, - { - "description": "Is this node the end of a group?", - "name": "group_end", - "readonly": false, - "text": "Group end", - "type": "Boolean", - "value": false - } - ], - "flipPorts": false, - "height": 200, - "inputAppFields": [], - "inputApplicationKey": null, - "inputApplicationName": "", - "inputApplicationType": "None", - "inputLocalPorts": [], - "inputPorts": [ - { - "Id": "4903980e-e085-4647-84c6-c2993ed5915e", - "IdText": "Y", - "event": false, - "type": "String" - } - ], - "isData": true, - "isGroup": false, - "key": -7, - "outputAppFields": [], - "outputApplicationKey": null, - "outputApplicationName": "", - "outputApplicationType": "None", - "outputLocalPorts": [], - "outputPorts": [ - { - "Id": "f0fefdfc-1f0d-453b-8ba6-edc856046406", - "IdText": "Y", - "event": false, - "type": "String" - } - ], - "precious": false, - "readonly": true, - "selected": false, - "showPorts": false, - "streaming": false, - "subject": null, - "text": "Y", - "width": 200, - "x": 738.874750688509, - "y": 571.9291788842213 - }, - { - "canHaveInputs": true, - "canHaveOutputs": true, - "category": "Memory", - "categoryType": "Data", - "collapsed": false, - "color": "#394BB2", - "description": "", - "drawOrderHint": 0, - "exitAppFields": [], - "exitApplicationKey": null, - "exitApplicationName": "", - "exitApplicationType": "None", - "expanded": false, - "fields": [ - { - "description": "Estimated size of the data contained in this node", - "name": "data_volume", - "readonly": false, - "text": "Data volume", - "type": "Float", - "value": 5 - }, - { - "description": "Is this node the end of a group?", - "name": "group_end", - "readonly": false, - "text": "Group end", - "type": "Boolean", - "value": false - } - ], - "flipPorts": false, - "height": 200, - "inputAppFields": [], - "inputApplicationKey": null, - "inputApplicationName": "", - "inputApplicationType": "None", - "inputLocalPorts": [], - "inputPorts": [ - { - "Id": "2b43bb09-ff68-4821-a2d8-cd3d0ce22889", - "IdText": "N", - "event": false, - "type": "String" - } - ], - "isData": true, - "isGroup": false, - "key": -9, - "outputAppFields": [], - "outputApplicationKey": null, - "outputApplicationName": "", - "outputApplicationType": "None", - "outputLocalPorts": [], - "outputPorts": [ - { - "Id": "e473ab2b-dbdc-4be4-b545-6e5054c4c4e7", - "IdText": "N", - "event": false, - "type": "String" - } - ], - "precious": false, - "readonly": true, - "selected": false, - "showPorts": false, - "streaming": false, - "subject": null, - "text": "N", - "width": 200, - "x": 865.8414355612979, - "y": 480.86831609817546 - } - ] -} \ No newline at end of file diff --git a/daliuge-translator/dlg/dropmake/branchPattern2.pg.graph b/daliuge-translator/dlg/dropmake/branchPattern2.pg.graph deleted file mode 100644 index de75793f1..000000000 --- a/daliuge-translator/dlg/dropmake/branchPattern2.pg.graph +++ /dev/null @@ -1,174 +0,0 @@ -[ - { - "oid": "1_-2_0", - "type": "app", - "app": "dlg.apps.simple.SleepApp", - "rank": [ - 0 - ], - "loop_cxt": null, - "sleepTime": 5, - "tw": 5, - "num_cpus": 1, - "appclass": "dlg.apps.simple.SleepApp", - "execution_time": 5, - "group_start": false, - "iid": "0", - "lg_key": -2, - "dt": "Branch", - "nm": "Branch", - "consumers": [ - "1_-7_0", - "1_-9_0" - ], - "inputs": [ - "1_-6_0" - ], - "node": "#0", - "island": "#0" - }, - { - "oid": "1_-3_0", - "type": "app", - "app": "dlg.apps.simple.SleepApp", - "rank": [ - 0 - ], - "loop_cxt": null, - "sleepTime": 5, - "tw": 5, - "num_cpus": 1, - "appclass": "dlg.apps.simple.SleepApp", - "execution_time": 5, - "group_start": false, - "iid": "0", - "lg_key": -3, - "dt": "PythonApp", - "nm": "NoApp", - "inputs": [ - "1_-9_0" - ], - "node": "#0", - "island": "#0" - }, - { - "oid": "1_-4_0", - "type": "app", - "app": "dlg.apps.simple.SleepApp", - "rank": [ - 0 - ], - "loop_cxt": null, - "sleepTime": 5, - "tw": 5, - "num_cpus": 1, - "appclass": "dlg.apps.simple.SleepApp", - "execution_time": 5, - "group_start": false, - "iid": "0", - "lg_key": -4, - "dt": "PythonApp", - "nm": "YesApp", - "inputs": [ - "1_-7_0" - ], - "node": "#0", - "island": "#0" - }, - { - "oid": "1_-5_0", - "type": "app", - "app": "dlg.apps.simple.SleepApp", - "rank": [ - 0 - ], - "loop_cxt": null, - "sleepTime": 5, - "tw": 5, - "num_cpus": 1, - "appclass": "dlg.apps.simple.SleepApp", - "execution_time": 5, - "group_start": false, - "iid": "0", - "lg_key": -5, - "dt": "PythonApp", - "nm": "StartApp", - "outputs": [ - "1_-6_0" - ], - "node": "#0", - "island": "#0" - }, - { - "oid": "1_-6_0", - "type": "plain", - "storage": "Memory", - "rank": [ - 0 - ], - "loop_cxt": null, - "dw": 5, - "data_volume": 5, - "group_end": false, - "iid": "0", - "lg_key": -6, - "dt": "Memory", - "nm": "Memory", - "producers": [ - "1_-5_0" - ], - "consumers": [ - "1_-2_0" - ], - "node": "#0", - "island": "#0" - }, - { - "oid": "1_-7_0", - "type": "plain", - "storage": "Memory", - "rank": [ - 0 - ], - "loop_cxt": null, - "dw": 5, - "data_volume": 5, - "group_end": false, - "iid": "0", - "lg_key": -7, - "dt": "Memory", - "nm": "Y", - "inputs": [ - "1_-2_0" - ], - "consumers": [ - "1_-4_0" - ], - "node": "#0", - "island": "#0" - }, - { - "oid": "1_-9_0", - "type": "plain", - "storage": "Memory", - "rank": [ - 0 - ], - "loop_cxt": null, - "dw": 5, - "data_volume": 5, - "group_end": false, - "iid": "0", - "lg_key": -9, - "dt": "Memory", - "nm": "N", - "inputs": [ - "1_-2_0" - ], - "consumers": [ - "1_-3_0" - ], - "node": "#0", - "island": "#0" - } -] \ No newline at end of file From 9cb935d3e075add5bb01f7535f22ca46e7b61df1 Mon Sep 17 00:00:00 2001 From: awicenec Date: Fri, 16 Jul 2021 12:04:59 +0800 Subject: [PATCH 12/12] another .DS file --- daliuge-translator/dlg/dropmake/.DS_Store | Bin 6148 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 daliuge-translator/dlg/dropmake/.DS_Store diff --git a/daliuge-translator/dlg/dropmake/.DS_Store b/daliuge-translator/dlg/dropmake/.DS_Store deleted file mode 100644 index 1e7ef3fca0464e79be9b258ba0643dd7f124abbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK!EVz)5S?vOa8jz~fE13tAaRILN(-%okgQM+y&)OF0Z?k!QDVulqu9X;A;=g0 zp?m^=!XNMIHh(vD|91^vN$bvK0n`pKe-)G;j z9X+xK6mpJ`GV0@ZpC%j8X22+56!_N^;CFXVzOy04RDOTw=TUO$M~ROJE)S34_kKu2 zZ^fF>oG!_Ok7&U2R9Ig&SOJX@H$$ZeDWX)?ippBzQ-xJSWJvz{+~RvB>Ht+|h`EP& zk{CY4b7hnOxgJ&4kojDd^4ZtyF<3F2XW7o=oXX5w$U@~GAg|~;o@iHiyT4VaWXAcI zSEx~rS-0iCCCbm!iT>Zd`jaS3vu^jB*s0ZbZ``!3X0y59eCv*q+|9gfmiD~qYrcB! zWg}nrUnEKNtMBjJNy<`>#shr1EH!Q2sX!Kj{ z#p3w%LC1c0wCvc6lap@8K0bQ1TsExs-NPs67vuT+#fRm`E946k*hQorXk5W(bhHNV z+-V#o@em`c=v9=#KT|;KXK@WMW)v_A7zN4-aDA}hjE=@ap)4I}CiefSW1WuZ?fLavVaZ5d9&QD|DDfKgyw zfttE(@&5np`t$!f$y^x)i~|3a0-}EAp7oHD-di`4R& cflI?Zn>#>9W1$cuF!LcGWiX9V;IAt16EWD!2><{9