cpee-model-management 1.2.2 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/cpee-model-management.gemspec +1 -1
- data/lib/cpee-model-management/implementation.rb +21 -13
- data/ui/index.html +1 -1
- data/ui/js/stats.js +10 -8
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cbd52e9e07809d503c71fb7b716fe287949a4aaf8030518110ae05f98295b8c1
|
4
|
+
data.tar.gz: 40289a6d6147b5358b088fa3885c8df2e2c50bb61bfbd54122ec8681489f99a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b7b76036df9e4ec5ebae8283d2d84d7eda794d1c195db080425d9cecba4650b7eabe52c785864c25af30bd29ad1a05bec63c66887e70b56e2f1b3ea5c783bea
|
7
|
+
data.tar.gz: a231affcade7800f587ea6bdfe2bdf3f1bce2ea8774d6e91e1c5bcc9bd1ff3da3b1ded34c9938170d89c165ced44a2203cd4723e7ec438c88c32076fa91f4a6d
|
@@ -724,10 +724,13 @@ module CPEE
|
|
724
724
|
multi.set(File.join(prefix,'name'),attr['info'])
|
725
725
|
multi.set(File.join(prefix,'cpu'),0)
|
726
726
|
multi.set(File.join(prefix,'mem'),0)
|
727
|
-
multi.set(File.join(prefix,'time'),
|
727
|
+
multi.set(File.join(prefix,'time'),Time.now.to_i)
|
728
728
|
end
|
729
729
|
elsif %w{stopping}.include?(content['state'])
|
730
|
-
redis.
|
730
|
+
redis.multi do |multi|
|
731
|
+
multi.set(File.join(prefix,'state'),content['state'])
|
732
|
+
multi.set(File.join(prefix,'time'),Time.now.to_i)
|
733
|
+
end
|
731
734
|
elsif %w{stopped}.include?(content['state'])
|
732
735
|
redis.multi do |multi|
|
733
736
|
multi.decr(File.join(engine,'running'))
|
@@ -735,7 +738,7 @@ module CPEE
|
|
735
738
|
multi.set(File.join(prefix,'state'),content['state'])
|
736
739
|
multi.set(File.join(prefix,'cpu'),0)
|
737
740
|
multi.set(File.join(prefix,'mem'),0)
|
738
|
-
multi.set(File.join(prefix,'time'),
|
741
|
+
multi.set(File.join(prefix,'time'),Time.now.to_i)
|
739
742
|
end
|
740
743
|
elsif %w{running}.include?(content['state'])
|
741
744
|
oldstate = redis.get(File.join(prefix,'state'))
|
@@ -748,16 +751,17 @@ module CPEE
|
|
748
751
|
end
|
749
752
|
end
|
750
753
|
|
751
|
-
url, author, path, name, state, parent = redis.mget(
|
754
|
+
url, author, path, name, state, time, parent = redis.mget(
|
752
755
|
File.join(prefix,'instance-url'),
|
753
756
|
File.join(prefix,'author'),
|
754
757
|
File.join(prefix,'path'),
|
755
758
|
File.join(prefix,'name'),
|
756
759
|
File.join(prefix,'state'),
|
760
|
+
File.join(prefix,'time'),
|
757
761
|
File.join(prefix,'parent')
|
758
762
|
)
|
759
763
|
receivers.each do |conn|
|
760
|
-
conn.send JSON::generate(:topic => topic, :event => event_name, :engine => engine, :uuid => notification['instance-uuid'], :url => url, :author => author, :path => path.to_s, :name => name, :state => content['state'], :parent => parent.to_s)
|
764
|
+
conn.send JSON::generate(:topic => topic, :event => event_name, :engine => engine, :uuid => notification['instance-uuid'], :url => url, :author => author, :path => path.to_s, :name => name, :state => content['state'], :time => time, :parent => parent.to_s)
|
761
765
|
end
|
762
766
|
elsif topic == 'task' && event_name == 'instantiation'
|
763
767
|
redis.multi do |multi|
|
@@ -765,16 +769,17 @@ module CPEE
|
|
765
769
|
multi.set(File.join(engine,content['received']['CPEE-INSTANCE-UUID'],'parent'),notification['instance-uuid'])
|
766
770
|
end
|
767
771
|
prefix = File.join(engine,content['received']['CPEE-INSTANCE-UUID'].to_s)
|
768
|
-
url, author, path, name, state, parent = redis.mget(
|
772
|
+
url, author, path, name, state, time, parent = redis.mget(
|
769
773
|
File.join(prefix,'instance-url'),
|
770
774
|
File.join(prefix,'author'),
|
771
775
|
File.join(prefix,'path'),
|
772
776
|
File.join(prefix,'name'),
|
773
777
|
File.join(prefix,'state'),
|
778
|
+
File.join(prefix,'time'),
|
774
779
|
File.join(prefix,'parent')
|
775
780
|
)
|
776
781
|
receivers.each do |conn|
|
777
|
-
conn.send JSON::generate(:topic => 'state', :event => 'change', :engine => engine, :uuid => content['received']['CPEE-INSTANCE-UUID'], :url => url, :author => author, :path => path.to_s, :name => name, :state => state, :parent => parent.to_s)
|
782
|
+
conn.send JSON::generate(:topic => 'state', :event => 'change', :engine => engine, :uuid => content['received']['CPEE-INSTANCE-UUID'], :url => url, :author => author, :path => path.to_s, :name => name, :state => state, :time => time, :parent => parent.to_s)
|
778
783
|
end
|
779
784
|
elsif topic == 'status' && event_name == 'resource_utilization'
|
780
785
|
redis.multi do |multi|
|
@@ -821,7 +826,7 @@ module CPEE
|
|
821
826
|
doc = XML::Smart.string('<instances/>')
|
822
827
|
redis.lrange(File.join(engine,'instances'),0,-1).each do |i|
|
823
828
|
prefix = File.join(engine,i.to_s)
|
824
|
-
url, author, path, name, state, cpu, mem, parent = redis.mget(
|
829
|
+
url, author, path, name, state, cpu, mem, parent,time = redis.mget(
|
825
830
|
File.join(prefix,'instance-url'),
|
826
831
|
File.join(prefix,'author'),
|
827
832
|
File.join(prefix,'path'),
|
@@ -829,9 +834,10 @@ module CPEE
|
|
829
834
|
File.join(prefix,'state'),
|
830
835
|
File.join(prefix,'cpu'),
|
831
836
|
File.join(prefix,'mem'),
|
832
|
-
File.join(prefix,'parent')
|
837
|
+
File.join(prefix,'parent'),
|
838
|
+
File.join(prefix,'time')
|
833
839
|
)
|
834
|
-
doc.root.add('instance', :uuid => i, :url => url, :author => author, :path => path, :name => name, :state => state, :cpu => cpu, :mem => mem, :parent => parent)
|
840
|
+
doc.root.add('instance', :uuid => i, :url => url, :author => author, :path => path, :name => name, :state => state, :cpu => cpu, :mem => mem, :parent => parent, :time => time)
|
835
841
|
end
|
836
842
|
Riddl::Parameter::Complex.new('tree','text/xml',doc.to_s)
|
837
843
|
end
|
@@ -842,7 +848,7 @@ module CPEE
|
|
842
848
|
engine = @p[0].value
|
843
849
|
uuid = @r[-1]
|
844
850
|
prefix = File.join(engine,uuid.to_s)
|
845
|
-
url, author, path, name, state, cpu, mem, parent = redis.mget(
|
851
|
+
url, author, path, name, state, cpu, mem, parent, time = redis.mget(
|
846
852
|
File.join(prefix,'instance-url'),
|
847
853
|
File.join(prefix,'author'),
|
848
854
|
File.join(prefix,'path'),
|
@@ -850,9 +856,11 @@ module CPEE
|
|
850
856
|
File.join(prefix,'state'),
|
851
857
|
File.join(prefix,'cpu'),
|
852
858
|
File.join(prefix,'mem'),
|
853
|
-
File.join(prefix,'parent')
|
859
|
+
File.join(prefix,'parent'),
|
860
|
+
File.join(prefix,'time')
|
861
|
+
|
854
862
|
)
|
855
|
-
Riddl::Parameter::Complex.new('instance','application/json',JSON.generate(:uuid => uuid, :url => url, :author => author, :path => path, :name => name, :state => state, :cpu => cpu, :mem => mem, :parent => parent))
|
863
|
+
Riddl::Parameter::Complex.new('instance','application/json',JSON.generate(:uuid => uuid, :url => url, :author => author, :path => path, :name => name, :state => state, :cpu => cpu, :mem => mem, :parent => parent, :time => time))
|
856
864
|
end
|
857
865
|
end #}}}
|
858
866
|
|
data/ui/index.html
CHANGED
@@ -167,7 +167,7 @@
|
|
167
167
|
<td class="state"><span class='value'></span> <span class='abandon'>[<a href='#' title='abandon'>a</a>]</span></td>
|
168
168
|
<td class="author"><em>unknown</em></td>
|
169
169
|
<td class="mem"></em></td>
|
170
|
-
<td class="
|
170
|
+
<td class="time"></em></td>
|
171
171
|
</tr>
|
172
172
|
<tr class="sub">
|
173
173
|
<td colspan="6"><table></table></td>
|
data/ui/js/stats.js
CHANGED
@@ -61,12 +61,12 @@ function instance_change(d) {
|
|
61
61
|
if ($('[data-id=' + d.uuid + ']').length > 0) {
|
62
62
|
if ($('[data-id=' + d.uuid + ']').attr('data-parent') != parent) {
|
63
63
|
$('[data-id=' + d.uuid + ']').remove()
|
64
|
-
instance_add(iname,d.uuid,d.url,d.name,d.state,d.author,0,0,d.parent)
|
64
|
+
instance_add(iname,d.uuid,d.url,d.name,d.state,d.author,0,0,d.time,d.parent)
|
65
65
|
} else {
|
66
|
-
instance_upd(d.uuid,d.name,d.state,d.author,0,0,d.parent)
|
66
|
+
instance_upd(d.uuid,d.name,d.state,d.author,0,0,d.time,d.parent)
|
67
67
|
}
|
68
68
|
} else {
|
69
|
-
instance_add(iname,d.uuid,d.url,d.name,d.state,d.author,0,0,d.parent)
|
69
|
+
instance_add(iname,d.uuid,d.url,d.name,d.state,d.author,0,0,d.time,d.parent)
|
70
70
|
}
|
71
71
|
} else if (d.state == 'abandoned' || d.state == 'finished') {
|
72
72
|
if ($('tr.sub[data-id=' + d.uuid + '] > td > table > tr').length > 0) {
|
@@ -77,14 +77,14 @@ function instance_change(d) {
|
|
77
77
|
} else {
|
78
78
|
if ($('tr.sub[data-id=' + d.uuid + ']').attr('data-parent') != d.parent) {
|
79
79
|
$('[data-id=' + d.uuid + ']').remove()
|
80
|
-
instance_add(iname,d.uuid,d.url,d.name,d.state,d.author,0,0,d.parent)
|
80
|
+
instance_add(iname,d.uuid,d.url,d.name,d.state,d.author,0,0,d.time,d.parent)
|
81
81
|
} else {
|
82
|
-
instance_upd(d.uuid,d.name,d.state,d.author,0,0,d.parent)
|
82
|
+
instance_upd(d.uuid,d.name,d.state,d.author,0,0,d.time,d.parent)
|
83
83
|
}
|
84
84
|
}
|
85
85
|
}
|
86
86
|
|
87
|
-
function instance_upd(uuid,name,state,author,cpu,mem,parent) {
|
87
|
+
function instance_upd(uuid,name,state,author,cpu,mem,time,parent) {
|
88
88
|
if (name != "") {
|
89
89
|
$('[data-id=' + uuid + '] > .name a').text(name)
|
90
90
|
$('[data-id=' + uuid + '] > .name a').attr('title',name)
|
@@ -94,13 +94,14 @@ function instance_upd(uuid,name,state,author,cpu,mem,parent) {
|
|
94
94
|
if (author != "") {
|
95
95
|
$('[data-id=' + uuid + '] > .author').text(author)
|
96
96
|
}
|
97
|
+
$('[data-id=' + uuid + '] > .time').text((new Date(time * 1000)).strftime("%H:%M:%S (%b-%d)"))
|
97
98
|
instance_res(uuid,cpu,mem)
|
98
99
|
}
|
99
100
|
function instance_res(uuid,cpu,mem) {
|
100
101
|
$('[data-id=' + uuid + '] > .cpu').text($.sprintf('%05.2f',cpu))
|
101
102
|
$('[data-id=' + uuid + '] > .mem').text($.sprintf('%05.2f',mem))
|
102
103
|
}
|
103
|
-
function instance_add(iname,uuid,url,name,state,author,cpu,mem,parent) {
|
104
|
+
function instance_add(iname,uuid,url,name,state,author,cpu,mem,time,parent) {
|
104
105
|
let inode = document.importNode($("#stats_instance")[0].content,true);
|
105
106
|
$('.sub',inode).attr('id',uuid)
|
106
107
|
$('.sub',inode).attr('data-id',uuid)
|
@@ -120,6 +121,7 @@ function instance_add(iname,uuid,url,name,state,author,cpu,mem,parent) {
|
|
120
121
|
}
|
121
122
|
$('.cpu',inode).text($.sprintf('%05.2f',cpu))
|
122
123
|
$('.mem',inode).text($.sprintf('%05.2f',mem))
|
124
|
+
$('.time',inode).text((new Date(time * 1000)).strftime("%H:%M:%S (%b-%d)"))
|
123
125
|
if (parent == "") {
|
124
126
|
$('#instances_' + iname).append(inode)
|
125
127
|
} else {
|
@@ -154,7 +156,7 @@ function instances_init(ename) {
|
|
154
156
|
success: (result) => {
|
155
157
|
$('instance',result).each(async (i,ele)=>{
|
156
158
|
const e = $(ele);
|
157
|
-
setTimeout(()=>{instance_add(iname,e.attr('uuid'),e.attr('url'),e.attr('name'),e.attr('state'),e.attr('author'),e.attr('cpu'),e.attr('mem'),e.attr('parent'))},0)
|
159
|
+
setTimeout(()=>{instance_add(iname,e.attr('uuid'),e.attr('url'),e.attr('name'),e.attr('state'),e.attr('author'),e.attr('cpu'),e.attr('mem'),e.attr('time'),e.attr('parent'))},0)
|
158
160
|
})
|
159
161
|
}
|
160
162
|
})
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cpee-model-management
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juergen eTM Mangler
|
8
8
|
autorequire:
|
9
9
|
bindir: tools
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: riddl
|
@@ -111,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
111
111
|
- !ruby/object:Gem::Version
|
112
112
|
version: '0'
|
113
113
|
requirements: []
|
114
|
-
rubygems_version: 3.
|
114
|
+
rubygems_version: 3.5.9
|
115
115
|
signing_key:
|
116
116
|
specification_version: 4
|
117
117
|
summary: "(Lifecycle) manage your process models in a directory or git repo."
|