cpee 2.1.30 → 2.1.34

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e5b91153e5d1f79bffd42f93f011cce42a0595f5fe17cfd0b7f6dd5a39852518
4
- data.tar.gz: 8cfccd832f88ea23ed93d4d5bda91e2b5e9414ca195e797a665911b62b2373f5
3
+ metadata.gz: 8457b0e49c82e8b44919cd7357de2ecc51067f9df04c81b17ec7b6fea57f9b3a
4
+ data.tar.gz: e391eee4876c1c6e653f0db52072c2f8e93434a8513e6200503549bab804ffbf
5
5
  SHA512:
6
- metadata.gz: b1e149e8b4ae2b28df6a30d2757b29c54aab7d65ca4f51ee7d9c226b36bceb448064439ae6e93995ee0e32a0fba01b6841ab1fb8b88afbefd2483b38c426b798
7
- data.tar.gz: 75a3f332f847963e76c1c8557cf14af6f9f6f0b61d7722bdc09a9a864d86ae2593a2f4a695c23e1c30a12c1fa86aa0f2ef2858d8acfeeb6653eee14578d8f03a
6
+ metadata.gz: 2e19e6b803139d751fc5d58f4c7d2e79f8ca4efc6a5c5c7b79db23a20586a07f755fe0340f537f85af5eda52a0c1de1ee0a787b21cd57206fe5f3d6dd3ec62fb
7
+ data.tar.gz: 48811e367128497ee1896adda017ebf524a14d08b5c3038222580f22ea37805a5c63bdf3d5dc9dbfd85c06d4e42d4132ecba3308cdd5a008b8497792fdd80690
@@ -0,0 +1,297 @@
1
+ <?xml version="1.0"?>
2
+ <testset xmlns="http://cpee.org/ns/properties/2.0">
3
+ <executionhandler>ruby</executionhandler>
4
+ <dataelements/>
5
+ <endpoints>
6
+ <timeout>https://cpee.org/services/timeout.php</timeout>
7
+ <subprocess>https://cpee.org/flow/start/url/</subprocess>
8
+ <frames_init>https-post://cpee.org/out/frames/simple/</frames_init>
9
+ <send>https-post://cpee.org/ing/correlators/message/send/</send>
10
+ <frames_display>https-put://cpee.org/out/frames/simple/</frames_display>
11
+ <receive>https-get://cpee.org/ing/correlators/message/receive/</receive>
12
+ <user>https-post://cpee.org/services/timeout-user.php</user>
13
+ <auto>https-post://cpee.org/services/timeout-auto.php</auto>
14
+ </endpoints>
15
+ <attributes>
16
+ <info>Frames</info>
17
+ <creator>Christine Ashcreek</creator>
18
+ <author>Christine Ashcreek</author>
19
+ <modeltype>CPEE</modeltype>
20
+ <guarded>none</guarded>
21
+ <guarded_id/>
22
+ <model_uuid>5ed82f61-a382-49b5-a420-c63e01d5a9f5</model_uuid>
23
+ <model_version/>
24
+ <theme>extended</theme>
25
+ <design_dir>Templates.dir</design_dir>
26
+ <design_stage>development</design_stage>
27
+ </attributes>
28
+ <description>
29
+ <description xmlns="http://cpee.org/ns/description/1.0">
30
+ <call id="a1" endpoint="frames_init">
31
+ <parameters>
32
+ <label>"Init Frame"</label>
33
+ <arguments>
34
+ <style_url>https://cpee.org/form/frames.css</style_url>
35
+ <document_url/>
36
+ <x_amount>5</x_amount>
37
+ <y_amount>8</y_amount>
38
+ <lang>de-at</lang>
39
+ <document_name>Show Info</document_name>
40
+ </arguments>
41
+ </parameters>
42
+ <annotations>
43
+ <_timing>
44
+ <_timing_weight/>
45
+ <_timing_avg/>
46
+ <_context_data_analysis>
47
+ <probes/>
48
+ <ips/>
49
+ </_context_data_analysis>
50
+ <report>
51
+ <url/>
52
+ </report>
53
+ <explanations/>
54
+ </_timing>
55
+ <_notes>
56
+ <_notes_general/>
57
+ </_notes>
58
+ </annotations>
59
+ <documentation>
60
+ <input/>
61
+ <output/>
62
+ <implementation>
63
+ <description/>
64
+ </implementation>
65
+ </documentation>
66
+ </call>
67
+ <call id="a3" endpoint="frames_display">
68
+ <parameters>
69
+ <label>Clear </label>
70
+ <arguments>
71
+ <type>set</type>
72
+ <lx>0</lx>
73
+ <ly>0</ly>
74
+ <x_amount>5</x_amount>
75
+ <y_amount>8</y_amount>
76
+ <button/>
77
+ <style/>
78
+ <urls/>
79
+ <default/>
80
+ </arguments>
81
+ </parameters>
82
+ <annotations>
83
+ <_timing>
84
+ <_timing_weight/>
85
+ <_timing_avg/>
86
+ <_context_data_analysis>
87
+ <probes/>
88
+ <ips/>
89
+ </_context_data_analysis>
90
+ <report>
91
+ <url/>
92
+ </report>
93
+ <explanations/>
94
+ </_timing>
95
+ <_notes>
96
+ <_notes_general/>
97
+ </_notes>
98
+ </annotations>
99
+ <documentation>
100
+ <input/>
101
+ <output/>
102
+ <implementation>
103
+ <description/>
104
+ </implementation>
105
+ </documentation>
106
+ </call>
107
+ <call id="a6" endpoint="frames_display">
108
+ <parameters>
109
+ <label>Show Header</label>
110
+ <arguments>
111
+ <type>set</type>
112
+ <lx>0</lx>
113
+ <ly>0</ly>
114
+ <x_amount>5</x_amount>
115
+ <y_amount>1</y_amount>
116
+ <button/>
117
+ <style/>
118
+ <urls>
119
+ <urls_item>
120
+ <lang>de-at</lang>
121
+ <url>https://cpee.org/form/tum-header.html</url>
122
+ </urls_item>
123
+ </urls>
124
+ <default/>
125
+ </arguments>
126
+ </parameters>
127
+ <annotations>
128
+ <_timing>
129
+ <_timing_weight/>
130
+ <_timing_avg/>
131
+ <_context_data_analysis>
132
+ <probes/>
133
+ <ips/>
134
+ </_context_data_analysis>
135
+ <report>
136
+ <url/>
137
+ </report>
138
+ <explanations/>
139
+ </_timing>
140
+ <_notes>
141
+ <_notes_general/>
142
+ </_notes>
143
+ </annotations>
144
+ <documentation>
145
+ <input/>
146
+ <output/>
147
+ <implementation>
148
+ <description/>
149
+ </implementation>
150
+ </documentation>
151
+ </call>
152
+ <call id="a5" endpoint="frames_display">
153
+ <parameters>
154
+ <label>Display Graph</label>
155
+ <arguments>
156
+ <type>set</type>
157
+ <lx>3</lx>
158
+ <ly>1</ly>
159
+ <x_amount>2</x_amount>
160
+ <y_amount>7</y_amount>
161
+ <button/>
162
+ <style/>
163
+ <urls>
164
+ <urls_item>
165
+ <lang>de-at</lang>
166
+ <url>!"https://cpee.org/flow/graph.html?monitor=" + cpee.instance_url</url>
167
+ </urls_item>
168
+ </urls>
169
+ <default/>
170
+ </arguments>
171
+ </parameters>
172
+ <annotations>
173
+ <_timing>
174
+ <_timing_weight/>
175
+ <_timing_avg/>
176
+ <_context_data_analysis>
177
+ <probes/>
178
+ <ips/>
179
+ </_context_data_analysis>
180
+ <report>
181
+ <url/>
182
+ </report>
183
+ <explanations/>
184
+ </_timing>
185
+ <_notes>
186
+ <_notes_general/>
187
+ </_notes>
188
+ </annotations>
189
+ <documentation>
190
+ <input/>
191
+ <output/>
192
+ <implementation>
193
+ <description/>
194
+ </implementation>
195
+ </documentation>
196
+ </call>
197
+ <loop mode="post_test" condition="true">
198
+ <_probability>
199
+ <_probability_min/>
200
+ <_probability_max/>
201
+ <_probability_avg/>
202
+ </_probability>
203
+ <call id="a2" endpoint="frames_display">
204
+ <parameters>
205
+ <label>Show Button</label>
206
+ <arguments>
207
+ <type>wait</type>
208
+ <lx>0</lx>
209
+ <ly>1</ly>
210
+ <x_amount>1</x_amount>
211
+ <y_amount>1</y_amount>
212
+ <button/>
213
+ <style/>
214
+ <urls>
215
+ <urls_item>
216
+ <lang>de-at</lang>
217
+ <url>https://cpee.org/form/button.html</url>
218
+ </urls_item>
219
+ </urls>
220
+ <default/>
221
+ </arguments>
222
+ </parameters>
223
+ <annotations>
224
+ <_timing>
225
+ <_timing_weight/>
226
+ <_timing_avg/>
227
+ <_context_data_analysis>
228
+ <probes/>
229
+ <ips/>
230
+ </_context_data_analysis>
231
+ <report>
232
+ <url/>
233
+ </report>
234
+ <explanations/>
235
+ </_timing>
236
+ <_notes>
237
+ <_notes_general/>
238
+ </_notes>
239
+ </annotations>
240
+ <documentation>
241
+ <input/>
242
+ <output/>
243
+ <implementation>
244
+ <description/>
245
+ </implementation>
246
+ </documentation>
247
+ </call>
248
+ <call id="a7" endpoint="frames_display">
249
+ <parameters>
250
+ <label>Clear Button</label>
251
+ <arguments>
252
+ <type>set</type>
253
+ <lx>0</lx>
254
+ <ly>1</ly>
255
+ <x_amount>1</x_amount>
256
+ <y_amount>1</y_amount>
257
+ <button/>
258
+ <style/>
259
+ <urls/>
260
+ <default/>
261
+ </arguments>
262
+ </parameters>
263
+ <annotations>
264
+ <_timing>
265
+ <_timing_weight/>
266
+ <_timing_avg/>
267
+ <_context_data_analysis>
268
+ <probes/>
269
+ <ips/>
270
+ </_context_data_analysis>
271
+ <report>
272
+ <url/>
273
+ </report>
274
+ <explanations/>
275
+ </_timing>
276
+ <_notes>
277
+ <_notes_general/>
278
+ </_notes>
279
+ </annotations>
280
+ <documentation>
281
+ <input/>
282
+ <output/>
283
+ <implementation>
284
+ <description/>
285
+ </implementation>
286
+ </documentation>
287
+ </call>
288
+ <stop id="a4"/>
289
+ </loop>
290
+ </description>
291
+ </description>
292
+ <transformation>
293
+ <description type="copy"/>
294
+ <dataelements type="none"/>
295
+ <endpoints type="none"/>
296
+ </transformation>
297
+ </testset>
@@ -1,10 +1,12 @@
1
1
  <?xml version="1.0"?>
2
2
  <testset xmlns="http://cpee.org/ns/properties/2.0">
3
3
  <executionhandler>ruby</executionhandler>
4
- <dataelements/>
4
+ <dataelements>
5
+ <brr>{ "a": 3 }</brr>
6
+ </dataelements>
5
7
  <endpoints>
6
8
  <timeout>https://cpee.org/services/timeout.php</timeout>
7
- <subprocess>https://cpee.org/flow/start/url/</subprocess>
9
+ <subprocess>https-post://cpee.org/flow/start/url/</subprocess>
8
10
  </endpoints>
9
11
  <attributes>
10
12
  <info>Subprocess</info>
@@ -24,12 +26,11 @@
24
26
  <call id="a1" endpoint="subprocess">
25
27
  <parameters>
26
28
  <label>Sub</label>
27
- <method>:post</method>
28
29
  <arguments>
29
30
  <behavior>wait_running</behavior>
30
31
  <url>https://cpee.org/design/server/Templates.dir/Wait.xml</url>
31
32
  <init>
32
- <bla>3</bla>
33
+ <bla>!data.brr</bla>
33
34
  </init>
34
35
  <endpoints/>
35
36
  <customization/>
@@ -1,12 +1,15 @@
1
1
  <?xml version="1.0"?>
2
2
  <testset xmlns="http://cpee.org/ns/properties/2.0">
3
3
  <executionhandler>ruby</executionhandler>
4
- <dataelements>
5
- <bla/>
6
- </dataelements>
4
+ <dataelements/>
7
5
  <endpoints>
8
6
  <timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
9
- <worklist>http://cpee.org:9398</worklist>
7
+ <subprocess>https-post://cpee.org/flow/start/url/</subprocess>
8
+ <worklist>https-post://cpee.org/worklist/server/</worklist>
9
+ <send>https-post://cpee.org/ing/correlators/message/send/</send>
10
+ <receive>https-get://cpee.org/ing/correlators/message/receive/</receive>
11
+ <user>https-post://cpee.org/services/timeout-user.php</user>
12
+ <auto>https-post://cpee.org/services/timeout-auto.php</auto>
10
13
  </endpoints>
11
14
  <attributes>
12
15
  <info>Worklist</info>
@@ -23,14 +26,15 @@
23
26
  <call id="a1" endpoint="worklist">
24
27
  <parameters>
25
28
  <label>OK OR NOT OK</label>
26
- <method>:post</method>
27
29
  <arguments>
28
- <orgmodel>organisation1</orgmodel>
30
+ <orgmodel>https://cpee.org/~demo/orgviz/organisation_informatik.xml</orgmodel>
29
31
  <domain>VirtualBusiness1</domain>
30
32
  <form>https://cpee.org/~demo/form/form-f.html</form>
31
33
  <role>Assistant</role>
32
- <schaden>55546</schaden>
33
- <text>fetzen hin</text>
34
+ <data>
35
+ <schaden>10000</schaden>
36
+ <text>destroyed</text>
37
+ </data>
34
38
  </arguments>
35
39
  </parameters>
36
40
  <code>
@@ -67,7 +71,6 @@
67
71
  </code>
68
72
  </documentation>
69
73
  </call>
70
- <stop id="a2"/>
71
74
  </description>
72
75
  </description>
73
76
  <transformation>
data/cpee.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cpee"
3
- s.version = "2.1.30"
3
+ s.version = "2.1.34"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0"
6
6
  s.summary = "Preliminary release of cloud process execution engine (cpee.org). If you just need workflow execution, without a rest service exposing it, then use WEEL."
@@ -24,9 +24,10 @@ Gem::Specification.new do |s|
24
24
  s.add_runtime_dependency 'riddl', '~> 0.114'
25
25
  s.add_runtime_dependency 'weel', '~> 1.99', '>= 1.99.99'
26
26
  s.add_runtime_dependency 'highline', '~> 2.0'
27
- s.add_runtime_dependency 'json', '~>2.1'
28
27
  s.add_runtime_dependency 'redis', '~> 4.1'
29
28
  s.add_runtime_dependency 'rubyzip', '~>2'
30
29
  s.add_runtime_dependency 'charlock_holmes', '~>0'
31
30
  s.add_runtime_dependency 'mimemagic', '~>0'
31
+ s.add_runtime_dependency 'get_process_mem', '~>0.2'
32
+ s.add_runtime_dependency 'webrick', '~>1.7'
32
33
  end
@@ -68,6 +68,9 @@ module CPEE
68
68
  opts[:watchdog_start_off] ||= false
69
69
  opts[:infinite_loop_stop] ||= 10000
70
70
 
71
+ opts[:dashing_frequency] ||= 3
72
+ opts[:dashing_target] ||= nil
73
+
71
74
  ### set redis_cmd to nil if you want to do global
72
75
  ### at least redis_path or redis_url and redis_db have to be set if you do global
73
76
  opts[:redis_path] ||= 'redis.sock' # use e.g. /tmp/redis.sock for global stuff. Look it up in your redis config
@@ -114,6 +117,55 @@ module CPEE
114
117
  EM.add_periodic_timer(opts[:sse_keepalive_frequency]) do
115
118
  CPEE::Notifications::sse_heartbeat(opts)
116
119
  end
120
+
121
+ if opts[:dashing_target]
122
+ cpu_last = 0
123
+ idl_last = 0
124
+ EM.add_periodic_timer(opts[:dashing_frequency]) do
125
+ src = `cat /proc/stat | head -n 1`.split("\n")
126
+ srm = `cat /proc/meminfo`.split("\n")
127
+ sc = {}
128
+ sm = {}
129
+ src.each do |e|
130
+ x = e.split(' ')
131
+ sc[x[0]] = x[1..-1].map{|r| r.to_i}
132
+ end
133
+ srm.each do |e|
134
+ x = e.split(/\s+/)
135
+ sm[x[0].chop] = x[1].to_i
136
+ end
137
+ scc = 0
138
+ sci = 0
139
+ sc.each do |_,e|
140
+ scc = e[0..4].sum
141
+ sci = e[3]
142
+ end
143
+ cpu_delta = scc - cpu_last
144
+ cpu_idle = sci - idl_last
145
+ cpu_used = cpu_delta - cpu_idle
146
+ cpu_usage = '%.2f' % (100 * cpu_used / cpu_delta.to_f)
147
+ mem_tot = '%.1f' % (sm['MemTotal']/1024.0)
148
+ mem_fre = '%.1f' % (sm['MemFree']/1024.0)
149
+ mem_ava = '%.1f' % (sm['MemAvailable']/1024.0)
150
+ mem_buc = '%.1f' % ((sm['Buffers'] + sm['Cached'] + sm['SReclaimable'])/1024.0)
151
+ mem_usd = '%.1f' % ((sm['MemTotal'] - sm['MemFree'] - sm['Buffers'] - sm['Cached'] - sm['SReclaimable'])/1024.0)
152
+
153
+ # puts "CPU usage at #{cpu_usage}%"
154
+ # puts "Mem usage at #{mem_tot}/#{mem_fre}/#{mem_usd}/#{mem_buc}/#{mem_ava}"
155
+ content = {}
156
+ content['cpu_usage'] = cpu_usage
157
+ content['mem_total'] = mem_tot
158
+ content['mem_free'] = mem_fre
159
+ content['mem_available'] = mem_ava
160
+ content['mem_bufferedandcached'] = mem_buc
161
+ content['mem_used'] = mem_usd
162
+ CPEE::Message::send_url(:event,'node/resource_utilization',File.join(opts[:url],'/'),content,File.join(opts[:dashing_target],'/dash/events'))
163
+
164
+ # Keep this as last for our next read
165
+ idl_last = sci
166
+ cpu_last = scc
167
+ end
168
+ end
117
169
  end
118
170
 
119
171
  cleanup do
@@ -227,7 +227,7 @@ module CPEE
227
227
  end #}}}
228
228
  class PutState < Riddl::Implementation #{{{
229
229
  def self::set(id,opts,state)
230
- CPEE::Persistence::set_item(id,opts,'state',:state => state, :timestamp => Time.now.xmlschema(3))
230
+ CPEE::Persistence::set_item(id,opts,'state',:state => state, :attributes => CPEE::Persistence::extract_list(id,opts,'attributes').to_h)
231
231
  end
232
232
 
233
233
  def self::run(id,opts,state)
data/lib/cpee/message.rb CHANGED
@@ -39,6 +39,26 @@ module CPEE
39
39
  )
40
40
  end
41
41
 
42
+ def self::send_url(type, event, cpee, content={}, backend)
43
+ topic = ::File::dirname(event)
44
+ name = ::File::basename(event)
45
+ client = Riddl::Client.new(backend)
46
+ payload = {
47
+ WHO => cpee,
48
+ 'topic' => topic,
49
+ 'type' => type,
50
+ 'name' => name,
51
+ 'timestamp' => Time.now.xmlschema(3),
52
+ 'content' => content
53
+ }
54
+ client = Riddl::Client.new(backend)
55
+ client.post [
56
+ Riddl::Parameter::Simple::new('type',type),
57
+ Riddl::Parameter::Simple::new('topic',topic),
58
+ Riddl::Parameter::Simple::new('event',name),
59
+ Riddl::Parameter::Complex::new('notification','application/json',JSON::generate(payload))
60
+ ]
61
+ end
42
62
  end
43
63
 
44
64
  end
@@ -15,6 +15,7 @@
15
15
  require 'charlock_holmes'
16
16
  require 'mimemagic'
17
17
  require 'base64'
18
+ require 'get_process_mem'
18
19
 
19
20
  class ConnectionWrapper < WEEL::ConnectionWrapperBase
20
21
  def self::loop_guard(arguments,id,count) # {{{
@@ -77,7 +78,15 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
77
78
  end #}}}
78
79
 
79
80
  def additional #{{{
80
- { :attributes => @controller.attributes }
81
+ {
82
+ :attributes => @controller.attributes,
83
+ :cpee => {
84
+ 'base' => @controller.base_url,
85
+ 'instance' => @controller.instance_id,
86
+ 'instance_url' => @controller.instance_url,
87
+ 'instance_uuid' => @controller.uuid
88
+ }
89
+ }
81
90
  end #}}}
82
91
 
83
92
  def proto_curl(parameters) #{{{
@@ -184,6 +193,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
184
193
 
185
194
  def inform_activity_done # {{{
186
195
  @controller.notify("activity/done", :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position)
196
+ @controller.notify("status/resource_utilization", :mib => GetProcessMem.new.mb, **Process.times.to_h)
187
197
  end # }}}
188
198
  def inform_activity_manipulate # {{{
189
199
  @controller.notify("activity/manipulating", :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position)
@@ -303,10 +313,14 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
303
313
  end
304
314
 
305
315
  def callback(result=nil,options={})
306
- @controller.notify("activity/receiving", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => structurize_result(result), :annotations => @anno)
316
+ recv = structurize_result(result)
317
+ @controller.notify("activity/receiving", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => recv, :annotations => @anno)
307
318
  @guard_files += result
308
319
  @handler_returnValue = simplify_result(result)
309
320
  @handler_returnOptions = options
321
+ if options['CPEE_EVENT']
322
+ @controller.notify("task/#{headers['CPEE_EVENT'].gsub(/[^\w_-]/,'')}", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => recv)
323
+ end
310
324
  if options['CPEE_UPDATE']
311
325
  if options['CPEE_UPDATE_STATUS']
312
326
  @controller.notify("activity/status", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :status => options['CPEE_UPDATE_STATUS'])
@@ -53,9 +53,9 @@ class Controller
53
53
  @loop_guard = {}
54
54
 
55
55
  @callback_keys = {}
56
- @psredis = @opts[:redis_dyn].call "Instance #{@id} Callback Response"
57
56
 
58
- Thread.new do
57
+ @subs = Thread.new do
58
+ @psredis = @opts[:redis_dyn].call "Instance #{@id} Callback Response"
59
59
  @psredis.psubscribe('callback-response:*','callback-end:*') do |on|
60
60
  on.pmessage do |pat, what, message|
61
61
  if pat == 'callback-response:*' && @callback_keys.has_key?(what[18..-1])
@@ -78,6 +78,10 @@ class Controller
78
78
  end
79
79
  end
80
80
  end
81
+ @psredis.close
82
+ rescue => e
83
+ sleep 1
84
+ retry
81
85
  end
82
86
  end
83
87
 
@@ -137,7 +141,6 @@ class Controller
137
141
  CPEE::Message::send(:'vote-response',key,base,@id,uuid,info,true,@redis)
138
142
  end
139
143
  end
140
- @thread.join if !@thread.nil? && @thread.alive?
141
144
  end
142
145
 
143
146
  def info
@@ -749,9 +749,9 @@
749
749
  <xsl:otherwise>
750
750
  <xsl:choose>
751
751
  <xsl:when test="substring(.,1,1) = '!'">
752
- <xsl:text>#{</xsl:text>
753
- <xsl:value-of select="str:replace(str:replace(substring(.,2),'\','\\'),'&quot;','\\\&quot;')"/>
754
- <xsl:text>.to_json}</xsl:text>
752
+ <xsl:text>#{(</xsl:text>
753
+ <xsl:value-of select="substring(.,2)"/>
754
+ <xsl:text>).to_json}</xsl:text>
755
755
  </xsl:when>
756
756
  <xsl:otherwise>
757
757
  <xsl:text>\"</xsl:text>
@@ -41,6 +41,7 @@
41
41
  <vote>change</vote>
42
42
  </topic>
43
43
  <topic id='status'>
44
+ <event>resource_utilization</event>
44
45
  <event>change</event>
45
46
  </topic>
46
47
  <topic id='dataelements'>
data/tools/cpee CHANGED
@@ -235,7 +235,9 @@ elsif command == 'abandon'
235
235
  print "Working on: " + name.to_s + "\r"
236
236
  res1 = Typhoeus.get(File.join(base,name.to_s,'properties','state','/'))
237
237
  if res1.success?
238
- if res1.response_body == 'ready' || res1.response_body == 'stopped'
238
+ if res1.response_body == 'running'
239
+ Typhoeus.put(File.join(base,name.to_s,'properties','state','/'), headers: {'Content-Type' => 'application/x-www-form-urlencoded'}, body: "value=stopping")
240
+ elsif res1.response_body == 'ready' || res1.response_body == 'stopped'
239
241
  Typhoeus.put(File.join(base,name.to_s,'properties','state','/'), headers: {'Content-Type' => 'application/x-www-form-urlencoded'}, body: "value=abandoned")
240
242
  end
241
243
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cpee
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.30
4
+ version: 2.1.34
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: tools
12
12
  cert_chain: []
13
- date: 2022-01-12 00:00:00.000000000 Z
13
+ date: 2022-05-03 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: riddl
@@ -61,49 +61,49 @@ dependencies:
61
61
  - !ruby/object:Gem::Version
62
62
  version: '2.0'
63
63
  - !ruby/object:Gem::Dependency
64
- name: json
64
+ name: redis
65
65
  requirement: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '2.1'
69
+ version: '4.1'
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '2.1'
76
+ version: '4.1'
77
77
  - !ruby/object:Gem::Dependency
78
- name: redis
78
+ name: rubyzip
79
79
  requirement: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '4.1'
83
+ version: '2'
84
84
  type: :runtime
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: '4.1'
90
+ version: '2'
91
91
  - !ruby/object:Gem::Dependency
92
- name: rubyzip
92
+ name: charlock_holmes
93
93
  requirement: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '2'
97
+ version: '0'
98
98
  type: :runtime
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '2'
104
+ version: '0'
105
105
  - !ruby/object:Gem::Dependency
106
- name: charlock_holmes
106
+ name: mimemagic
107
107
  requirement: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - "~>"
@@ -117,19 +117,33 @@ dependencies:
117
117
  - !ruby/object:Gem::Version
118
118
  version: '0'
119
119
  - !ruby/object:Gem::Dependency
120
- name: mimemagic
120
+ name: get_process_mem
121
121
  requirement: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: '0'
125
+ version: '0.2'
126
126
  type: :runtime
127
127
  prerelease: false
128
128
  version_requirements: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: '0'
132
+ version: '0.2'
133
+ - !ruby/object:Gem::Dependency
134
+ name: webrick
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '1.7'
140
+ type: :runtime
141
+ prerelease: false
142
+ version_requirements: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: '1.7'
133
147
  description: see http://cpee.org
134
148
  email: juergen.mangler@gmail.com
135
149
  executables:
@@ -221,6 +235,7 @@ files:
221
235
  - cockpit/templates.legacy/testsets.xml
222
236
  - cockpit/templates.legacy/transformations.xml
223
237
  - cockpit/templates/Coopis 2010.xml
238
+ - cockpit/templates/Frames.xml
224
239
  - cockpit/templates/IUPC arXiv:1104.3609 P34 1.xml
225
240
  - cockpit/templates/IUPC arXiv:1104.3609 P34 2.xml
226
241
  - cockpit/templates/IUPC arXiv:1104.3609 P34 3.xml
@@ -663,13 +678,9 @@ files:
663
678
  - server/resources/states.xml
664
679
  - server/resources/topics.xml
665
680
  - server/resources/transformation.xml
666
- - server/routing/end.pid
667
681
  - server/routing/end.rb
668
- - server/routing/forward-events.pid
669
682
  - server/routing/forward-events.rb
670
- - server/routing/forward-votes.pid
671
683
  - server/routing/forward-votes.rb
672
- - server/routing/persist.pid
673
684
  - server/routing/persist.rb
674
685
  - server/server.conf
675
686
  - server/server.rb
@@ -696,7 +707,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
696
707
  - !ruby/object:Gem::Version
697
708
  version: '0'
698
709
  requirements: []
699
- rubygems_version: 3.2.22
710
+ rubygems_version: 3.3.7
700
711
  signing_key:
701
712
  specification_version: 4
702
713
  summary: Preliminary release of cloud process execution engine (cpee.org). If you
@@ -1 +0,0 @@
1
- 1772897
@@ -1 +0,0 @@
1
- 1772901
@@ -1 +0,0 @@
1
- 1772905
@@ -1 +0,0 @@
1
- 1772911