cpee 2.1.39 → 2.1.41

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/config.json +1 -1
  3. data/cockpit/css/graph.css +13 -0
  4. data/cockpit/graph.html +1 -0
  5. data/cockpit/js/instance.js +94 -74
  6. data/cockpit/js_libs.zip +0 -0
  7. data/cockpit/themes/compact/symbols/start_event.svg +2 -2
  8. data/cockpit/themes/compact/symbols/test.svg +74 -0
  9. data/cockpit/themes/control/symbols/start_event.svg +2 -2
  10. data/cockpit/themes/control/symbols/test.svg +74 -0
  11. data/cockpit/themes/default/symbols/start_event.svg +2 -2
  12. data/cockpit/themes/default/symbols/test.svg +74 -0
  13. data/cockpit/themes/extended/symbols/start_event.svg +2 -2
  14. data/cockpit/themes/extended/symbols/test.svg +74 -0
  15. data/cockpit/themes/model/symbols/start_event.svg +2 -2
  16. data/cockpit/themes/model/symbols/test.svg +74 -0
  17. data/cockpit/themes/packed/symbols/start_event.svg +2 -2
  18. data/cockpit/themes/packed/symbols/test.svg +74 -0
  19. data/cockpit/themes/preset/symbols/start_event.svg +2 -2
  20. data/cockpit/themes/preset/symbols/test.svg +74 -0
  21. data/cpee.gemspec +1 -1
  22. data/lib/cpee/implementation.rb +54 -32
  23. data/lib/cpee/message.rb +13 -4
  24. data/server/executionhandlers/ruby/controller.rb +1 -0
  25. data/server/executionhandlers/ruby/dsl_to_dslx.xsl +1 -11
  26. data/server/executionhandlers/ruby/execution.rb +1 -0
  27. data/server/routing/end.pid +1 -1
  28. data/server/routing/end.rb +1 -1
  29. data/server/routing/forward-events-00.pid +1 -0
  30. data/server/routing/forward-events-01.pid +1 -0
  31. data/server/routing/forward-events-02.pid +1 -0
  32. data/server/routing/forward-events-03.pid +1 -0
  33. data/server/routing/forward-events-04.pid +1 -0
  34. data/server/routing/forward-events.rb +20 -13
  35. data/server/routing/forward-votes.pid +1 -1
  36. data/server/routing/forward-votes.rb +2 -3
  37. data/server/routing/persist-00.pid +1 -0
  38. data/server/routing/persist-01.pid +1 -0
  39. data/server/routing/persist-02.pid +1 -0
  40. data/server/routing/persist-03.pid +1 -0
  41. data/server/routing/persist-04.pid +1 -0
  42. data/server/routing/persist.rb +38 -29
  43. data/server/server.conf +1 -1
  44. data/server/server.pid +1 -0
  45. data/tools/cpee +52 -12
  46. metadata +23 -6
  47. data/server/executionhandlers/ruby/test.xml +0 -43
  48. data/server/routing/forward-events.pid +0 -1
  49. data/server/routing/persist.pid +0 -1
@@ -20,42 +20,51 @@ require 'daemonite'
20
20
  require_relative '../../lib/cpee/value_helper'
21
21
  require_relative '../../lib/cpee/redis'
22
22
 
23
- EVENTS = %w{
24
- event:state/change
25
- event:executionhandler/change
26
- event:description/change
27
- event:dataelements/change
28
- event:endpoints/change
29
- event:attributes/change
30
- event:transformation/change
31
- event:status/change
32
- event:position/change
33
- event:handler/change
34
- callback:activity/content
35
- }
23
+ EVENTS =
36
24
 
37
25
  Daemonite.new do |opts|
38
26
  opts[:runtime_opts] += [
39
27
  ["--url=URL", "-uURL", "Specify redis url", ->(p){ opts[:redis_url] = p }],
40
28
  ["--path=PATH", "-pPATH", "Specify redis path, e.g. /tmp/redis.sock", ->(p){ opts[:redis_path] = p }],
41
- ["--db=DB", "-dDB", "Specify redis db, e.g. 1", ->(p) { opts[:redis_db] = p.to_i }]
29
+ ["--db=DB", "-dDB", "Specify redis db, e.g. 1", ->(p) { opts[:redis_db] = p.to_i }],
30
+ ["--worker=NUM", "-wNUM", "Specify the worker id, e.g. 0", ->(p) { opts[:worker] = p.to_i }]
42
31
  ]
43
32
 
33
+ on setup do
34
+ opts[:worker] ||= 0
35
+ opts[:worker] = ('%02i' % opts[:worker]).freeze
36
+ opts[:pidfile] = File.basename(opts[:pidfile],'.pid') + '-' + opts[:worker].to_s + '.pid'
37
+ end
38
+
44
39
  on startup do
45
- opts[:redis_path] ||= '/tmp/redis.sock'
40
+ opts[:redis_path] ||= '/tmp/redis.sock'.freeze
46
41
  opts[:redis_db] ||= 1
47
-
42
+ opts[:events] = [
43
+ 'event:' + opts[:worker].to_s + ':state/change',
44
+ 'event:' + opts[:worker].to_s + ':executionhandler/change',
45
+ 'event:' + opts[:worker].to_s + ':description/change',
46
+ 'event:' + opts[:worker].to_s + ':dataelements/change',
47
+ 'event:' + opts[:worker].to_s + ':endpoints/change',
48
+ 'event:' + opts[:worker].to_s + ':attributes/change',
49
+ 'event:' + opts[:worker].to_s + ':transformation/change',
50
+ 'event:' + opts[:worker].to_s + ':status/change',
51
+ 'event:' + opts[:worker].to_s + ':position/change',
52
+ 'event:' + opts[:worker].to_s + ':handler/change',
53
+ 'callback:' + opts[:worker].to_s + ':activity/content'
54
+ ].freeze
48
55
  CPEE::redis_connect opts, 'Server Routing Persist'
49
56
  opts[:pubsubredis] = opts[:redis_dyn].call 'Server Routing Persist Sub'
50
57
  end
51
58
 
52
59
  run do
53
- opts[:pubsubredis].subscribe(EVENTS) do |on|
60
+ p opts[:events]
61
+ opts[:pubsubredis].subscribe(opts[:events]) do |on|
54
62
  on.message do |what, message|
63
+ p 'rrrr'
55
64
  mess = JSON.parse(message[message.index(' ')+1..-1])
56
65
  instance = mess.dig('instance')
57
66
  case what
58
- when 'callback:activity/content'
67
+ when 'callback:' + opts[:worker] + ':activity/content'
59
68
  key = mess.dig('content','key')
60
69
  opts[:redis].multi do |multi|
61
70
  multi.sadd("instance:#{instance}/callbacks",key)
@@ -64,28 +73,28 @@ Daemonite.new do |opts|
64
73
  multi.set("instance:#{instance}/callback/#{key}/position",mess.dig('content','activity'))
65
74
  multi.set("instance:#{instance}/callback/#{key}/type",'callback')
66
75
  end
67
- when 'event:state/change'
76
+ when 'event:' + opts[:worker] + ':state/change'
68
77
  opts[:redis].multi do |multi|
69
78
  unless mess.dig('content','state') == 'purged'
70
79
  multi.set("instance:#{instance}/state",mess.dig('content','state'))
71
80
  multi.set("instance:#{instance}/state/@changed",mess.dig('timestamp'))
72
81
  end
73
82
  end
74
- when 'event:executionhandler/change'
83
+ when 'event:' + opts[:worker] + ':executionhandler/change'
75
84
  opts[:redis].set("instance:#{instance}/executionhandler",mess.dig('content','executionhandler'))
76
- when 'event:description/change'
85
+ when 'event:' + opts[:worker] + ':description/change'
77
86
  opts[:redis].multi do |multi|
78
87
  multi.set("instance:#{instance}/description",mess.dig('content','description'))
79
88
  multi.set("instance:#{instance}/dslx",mess.dig('content','dslx'))
80
89
  multi.set("instance:#{instance}/dsl",mess.dig('content','dsl'))
81
90
  end
82
- when 'event:dataelements/change', 'event:endpoints/change', 'event:attributes/change'
91
+ when 'event:' + opts[:worker] + ':dataelements/change', 'event:' + opts[:worker] + ':endpoints/change', 'event:' + opts[:worker] + ':attributes/change'
83
92
  topic = mess.dig('topic')
84
93
  opts[:redis].multi do |multi|
85
94
  mess.dig('content','changed')&.each_with_index do |c,i|
86
- unless what == 'event:attributes/change' && c == 'uuid'
95
+ unless what == 'event:' + opts[:worker] + ':attributes/change' && c == 'uuid'
87
96
  multi.zadd("instance:#{instance}/#{topic}",i,c)
88
- if what == 'event:dataelements/change'
97
+ if what == 'event:' + opts[:worker] + ':dataelements/change'
89
98
  multi.set("instance:#{instance}/#{topic}/#{c}",CPEE::ValueHelper::generate(mess.dig('content','values',c)))
90
99
  else
91
100
  multi.set("instance:#{instance}/#{topic}/#{c}",mess.dig('content','values',c))
@@ -93,13 +102,13 @@ Daemonite.new do |opts|
93
102
  end
94
103
  end
95
104
  mess.dig('content','deleted')&.to_a&.each do |c|
96
- unless what == 'event:attributes/change' && c == 'uuid'
105
+ unless what == 'event:' + opts[:worker] + ':attributes/change' && c == 'uuid'
97
106
  multi.zrem("instance:#{instance}/#{topic}",c)
98
107
  multi.del("instance:#{instance}/#{topic}/#{c}")
99
108
  end
100
109
  end
101
110
  end
102
- when 'event:transformation/change'
111
+ when 'event:' + opts[:worker] + ':transformation/change'
103
112
  opts[:redis].multi do |multi|
104
113
  multi.set("instance:#{instance}/transformation/description",mess.dig('content','description'))
105
114
  multi.set("instance:#{instance}/transformation/description/@type",mess.dig('content','description_type'))
@@ -108,12 +117,12 @@ Daemonite.new do |opts|
108
117
  multi.set("instance:#{instance}/transformation/endpoints",mess.dig('content','endpoints'))
109
118
  multi.set("instance:#{instance}/transformation/endpoints/@type",mess.dig('content','endpoints_type'))
110
119
  end
111
- when 'event:status/change'
120
+ when 'event:' + opts[:worker] + ':status/change'
112
121
  opts[:redis].multi do |multi|
113
122
  multi.set("instance:#{instance}/status/id",mess.dig('content','id'))
114
123
  multi.set("instance:#{instance}/status/message",mess.dig('content','message'))
115
124
  end
116
- when 'event:position/change'
125
+ when 'event:' + opts[:worker] + ':position/change'
117
126
  opts[:redis].multi do |multi|
118
127
  c = mess.dig('content')
119
128
  c.dig('unmark')&.each do |ele|
@@ -140,7 +149,7 @@ Daemonite.new do |opts|
140
149
  multi.set("instance:#{instance}/positions/#{ele['position']}",'after')
141
150
  end
142
151
  end
143
- when 'event:handler/change'
152
+ when 'event:' + opts[:worker] + ':handler/change'
144
153
  opts[:redis].multi do |multi|
145
154
  mess.dig('content','changed').each do |c|
146
155
  multi.sadd("instance:#{instance}/handlers",mess.dig('content','key'))
data/server/server.conf CHANGED
@@ -1,4 +1,4 @@
1
1
  :host: tango.wst.univie.ac.at
2
2
  :port: 8298
3
- :url: http://tango.wst.univie.ac.at/flow/engine/
3
+ :url: http://tango.wst.univie.ac.at:8298
4
4
  :secure: false
data/server/server.pid ADDED
@@ -0,0 +1 @@
1
+ 592827
data/tools/cpee CHANGED
@@ -9,7 +9,7 @@ require 'xml/smart'
9
9
  require 'zip'
10
10
  require 'pp'
11
11
 
12
- def wrap(s, width=78, indent=18)
12
+ def wrap(s, width=78, indent=23)
13
13
  lines = []
14
14
  line, s = s[0..indent-2], s[indent..-1]
15
15
  s.split(/\n/).each do |ss|
@@ -29,32 +29,34 @@ end
29
29
 
30
30
  ARGV.options { |opt|
31
31
  opt.summary_indent = ' ' * 2
32
- opt.summary_width = 15
33
- opt.banner = "Usage:\n#{opt.summary_indent}#{File.basename($0)} [options] convert | ui | cpui DIR | new DIR | archive DIR URL | start URL | delete! URL | abandon URL\n"
32
+ opt.summary_width = 20
33
+ opt.banner = "Usage:\n#{opt.summary_indent}#{File.basename($0)} [options] convert | ui | cpui DIR | new DIR | archive DIR URL | start URL | delete! URL | abandon URL | a_by_name URL STRING\n"
34
34
  opt.on("Options:")
35
35
  opt.on("--help", "-h", "This text") { puts opt; exit }
36
36
  opt.on("")
37
- opt.on(wrap("[archive DIR URL] save properties from all finished instances listed at URL into DIR. Examples:\ncpee archive ./archive http://localhost:9298/1/\ncpee archive ./archive http://localhost:9298/1-200\ncpee archive ./archive http://localhost:9298/*"))
37
+ opt.on(wrap("[archive DIR URL] save properties from all finished instances listed at URL into DIR. Examples:\ncpee archive ./archive http://localhost:9298/1/\ncpee archive ./archive http://localhost:9298/1-200\ncpee archive ./archive http://localhost:9298/*"))
38
38
  opt.on("")
39
- opt.on(wrap("[abandon URL] running processes are stopped; ready or stopped processes are abandoned. Examples:\ncpee abandon http://localhost:9298/1/\ncpee abandon http://localhost:9298/1-200\ncpee abandon http://localhost:9298/*"))
39
+ opt.on(wrap("[abandon URL] running processes are stopped; ready or stopped processes are abandoned. Examples:\ncpee abandon http://localhost:9298/1/\ncpee abandon http://localhost:9298/1-200\ncpee abandon http://localhost:9298/*"))
40
40
  opt.on("")
41
- opt.on(wrap("[start URL] stopped processes are started; all others are not touched. Examples:\ncpee start http://localhost:9298/1\ncpee start http://localhost:9298/1-200\ncpee start http://localhost:9298/*"))
41
+ opt.on(wrap("[a_by_name URL STRING] ready or stopped processes are abandoned by regex on attributes/info. Examples:\ncpee abandon http://localhost:9298/1/ \"aa.a\"\ncpee abandon http://localhost:9298/1-200 aaa"))
42
42
  opt.on("")
43
- opt.on(wrap("[delete! URL] DANGER ZONE. Vanishes forever. Not in archive. Examples:\ncpee delete! http://localhost:9298/1/"))
43
+ opt.on(wrap("[start URL] stopped processes are started; all others are not touched. Examples:\ncpee start http://localhost:9298/1\ncpee start http://localhost:9298/1-200\ncpee start http://localhost:9298/*"))
44
44
  opt.on("")
45
- opt.on(wrap("[new DIR] scaffolds a sample execution engine. Everything except instances can be removed for default behaviour."))
45
+ opt.on(wrap("[delete! URL] DANGER ZONE. Vanishes forever. Not in archive. Examples:\ncpee delete! http://localhost:9298/1/"))
46
46
  opt.on("")
47
- opt.on(wrap("[cpui DIR] scaffolds a sample html client. New versions might require manual merging if you changed something."))
47
+ opt.on(wrap("[new DIR] scaffolds a sample execution engine. Everything except instances can be removed for default behaviour."))
48
48
  opt.on("")
49
- opt.on(wrap("[ui] starts a simple static web server with the ui on http://localhost:8080. Use [cpui DIR] if you want stuff in apache or nginx."))
49
+ opt.on(wrap("[cpui DIR] scaffolds a sample html client. New versions might require manual merging if you changed something."))
50
50
  opt.on("")
51
- opt.on(wrap("[convert] converts all testsets in the current directory to cpee2"))
51
+ opt.on(wrap("[ui] starts a simple static web server with the ui on http://localhost:8080. Use [cpui DIR] if you want stuff in apache or nginx."))
52
+ opt.on("")
53
+ opt.on(wrap("[convert] converts all testsets in the current directory to the newest format"))
52
54
  opt.parse!
53
55
  }
54
56
  if (ARGV.length == 0) ||
55
57
  (ARGV.length == 1 && !(%w(ui convert).include?(ARGV[0]))) ||
56
58
  (ARGV.length == 2 && !(%w(abandon start delete! cpui new).include?(ARGV[0]))) ||
57
- (ARGV.length == 3 && ARGV[0] != 'archive') ||
59
+ (ARGV.length == 3 && !(%w(archive a_by_name).include?(ARGV[0]))) ||
58
60
  (ARGV.length > 3)
59
61
  puts ARGV.options
60
62
  exit
@@ -210,6 +212,44 @@ elsif command == 'archive'
210
212
  end
211
213
  end
212
214
  puts
215
+ elsif command == 'a_by_name'
216
+ p1 = File.join(p1,'*') if p1 =~ /([a-zA-Z]|\/)$/
217
+ base = File.dirname(p1)
218
+ names = []
219
+ if File.basename(p1) =~ /(\d+)-(\d+)/
220
+ names = ($1.to_i..$2.to_i).to_a
221
+ elsif File.basename(p1) == '*'
222
+ res = Typhoeus.get(File.join(base,'/'), headers: { 'see-instances' => 'true' })
223
+ if res.success?
224
+ XML::Smart.string(res.response_body) do |doc|
225
+ doc.find('//instance/@id').each do |ele|
226
+ names << ele.value
227
+ end
228
+ end
229
+ names.reverse!
230
+ else
231
+ exit
232
+ end
233
+ else
234
+ names << File.basename(p1)
235
+ end
236
+ names.each do |name|
237
+ print "Working on: " + name.to_s + "\r"
238
+ res1 = Typhoeus.get(File.join(base,name.to_s,'properties','state','/'))
239
+ res2 = Typhoeus.get(File.join(base,name.to_s,'properties','attributes','info','/'))
240
+ if res1.success?
241
+ if res1.response_body == 'stopping'
242
+ if res2.success? && res2.response_body =~ /#{p2}/
243
+ Typhoeus.put(File.join(base,name.to_s,'properties','state','/'), headers: {'Content-Type' => 'application/x-www-form-urlencoded'}, body: "value=stopping")
244
+ end
245
+ elsif res1.response_body == 'ready' || res1.response_body == 'stopped'
246
+ if res2.success? && res2.response_body =~ /#{p2}/
247
+ Typhoeus.put(File.join(base,name.to_s,'properties','state','/'), headers: {'Content-Type' => 'application/x-www-form-urlencoded'}, body: "value=abandoned")
248
+ end
249
+ end
250
+ end
251
+ end
252
+ puts
213
253
  elsif command == 'abandon'
214
254
  p1 = File.join(p1,'*') if p1 =~ /([a-zA-Z]|\/)$/
215
255
  base = File.dirname(p1)
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.39
4
+ version: 2.1.41
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-12-08 00:00:00.000000000 Z
13
+ date: 2023-03-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: riddl
@@ -169,6 +169,7 @@ files:
169
169
  - cockpit/contrib/transformation1.xsl
170
170
  - cockpit/contrib/transformation2.xsl
171
171
  - cockpit/contrib/tree_example.svg
172
+ - cockpit/css/graph.css
172
173
  - cockpit/css/model.css
173
174
  - cockpit/css/replay.css
174
175
  - cockpit/css/track.css
@@ -187,6 +188,7 @@ files:
187
188
  - cockpit/js/track.js
188
189
  - cockpit/js/ui.js
189
190
  - cockpit/js/wfadaptor.js
191
+ - cockpit/js_libs.zip
190
192
  - cockpit/model.html
191
193
  - cockpit/replay.html
192
194
  - cockpit/rngs/attributes.rng
@@ -309,6 +311,7 @@ files:
309
311
  - cockpit/themes/compact/symbols/start_event.svg
310
312
  - cockpit/themes/compact/symbols/stop.svg
311
313
  - cockpit/themes/compact/symbols/terminate.svg
314
+ - cockpit/themes/compact/symbols/test.svg
312
315
  - cockpit/themes/compact/theme.js
313
316
  - cockpit/themes/control/rngs/alternative.rng
314
317
  - cockpit/themes/control/rngs/call.rng
@@ -363,6 +366,7 @@ files:
363
366
  - cockpit/themes/control/symbols/start_event.svg
364
367
  - cockpit/themes/control/symbols/stop.svg
365
368
  - cockpit/themes/control/symbols/terminate.svg
369
+ - cockpit/themes/control/symbols/test.svg
366
370
  - cockpit/themes/control/theme.js
367
371
  - cockpit/themes/default/rngs/alternative.rng
368
372
  - cockpit/themes/default/rngs/call.rng
@@ -417,6 +421,7 @@ files:
417
421
  - cockpit/themes/default/symbols/start_event.svg
418
422
  - cockpit/themes/default/symbols/stop.svg
419
423
  - cockpit/themes/default/symbols/terminate.svg
424
+ - cockpit/themes/default/symbols/test.svg
420
425
  - cockpit/themes/default/theme.js
421
426
  - cockpit/themes/extended/rngs/alternative.rng
422
427
  - cockpit/themes/extended/rngs/call.rng
@@ -471,6 +476,7 @@ files:
471
476
  - cockpit/themes/extended/symbols/start_event.svg
472
477
  - cockpit/themes/extended/symbols/stop.svg
473
478
  - cockpit/themes/extended/symbols/terminate.svg
479
+ - cockpit/themes/extended/symbols/test.svg
474
480
  - cockpit/themes/extended/theme.js
475
481
  - cockpit/themes/model/rngs/alternative.rng
476
482
  - cockpit/themes/model/rngs/call.rng
@@ -520,6 +526,7 @@ files:
520
526
  - cockpit/themes/model/symbols/start_event.svg
521
527
  - cockpit/themes/model/symbols/stop.svg
522
528
  - cockpit/themes/model/symbols/terminate.svg
529
+ - cockpit/themes/model/symbols/test.svg
523
530
  - cockpit/themes/model/theme.js
524
531
  - cockpit/themes/packed/rngs/alternative.rng
525
532
  - cockpit/themes/packed/rngs/call.rng
@@ -574,6 +581,7 @@ files:
574
581
  - cockpit/themes/packed/symbols/start_event.svg
575
582
  - cockpit/themes/packed/symbols/stop.svg
576
583
  - cockpit/themes/packed/symbols/terminate.svg
584
+ - cockpit/themes/packed/symbols/test.svg
577
585
  - cockpit/themes/packed/theme.js
578
586
  - cockpit/themes/preset/rngs/alternative.rng
579
587
  - cockpit/themes/preset/rngs/call.rng
@@ -628,6 +636,7 @@ files:
628
636
  - cockpit/themes/preset/symbols/start_event.svg
629
637
  - cockpit/themes/preset/symbols/stop.svg
630
638
  - cockpit/themes/preset/symbols/terminate.svg
639
+ - cockpit/themes/preset/symbols/test.svg
631
640
  - cockpit/themes/preset/theme.js
632
641
  - cockpit/track.html
633
642
  - cockpit/transformations.xml
@@ -690,7 +699,6 @@ files:
690
699
  - server/executionhandlers/ruby/controller.rb
691
700
  - server/executionhandlers/ruby/dsl_to_dslx.xsl
692
701
  - server/executionhandlers/ruby/execution.rb
693
- - server/executionhandlers/ruby/test.xml
694
702
  - server/resources/empty_dslx.xml
695
703
  - server/resources/notifications/logging/subscription.xml
696
704
  - server/resources/properties.empty
@@ -701,13 +709,22 @@ files:
701
709
  - server/resources/transformation.xml
702
710
  - server/routing/end.pid
703
711
  - server/routing/end.rb
704
- - server/routing/forward-events.pid
712
+ - server/routing/forward-events-00.pid
713
+ - server/routing/forward-events-01.pid
714
+ - server/routing/forward-events-02.pid
715
+ - server/routing/forward-events-03.pid
716
+ - server/routing/forward-events-04.pid
705
717
  - server/routing/forward-events.rb
706
718
  - server/routing/forward-votes.pid
707
719
  - server/routing/forward-votes.rb
708
- - server/routing/persist.pid
720
+ - server/routing/persist-00.pid
721
+ - server/routing/persist-01.pid
722
+ - server/routing/persist-02.pid
723
+ - server/routing/persist-03.pid
724
+ - server/routing/persist-04.pid
709
725
  - server/routing/persist.rb
710
726
  - server/server.conf
727
+ - server/server.pid
711
728
  - server/server.rb
712
729
  - tools/cpee
713
730
  - tools/server/cpee
@@ -732,7 +749,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
732
749
  - !ruby/object:Gem::Version
733
750
  version: '0'
734
751
  requirements: []
735
- rubygems_version: 3.3.7
752
+ rubygems_version: 3.3.26
736
753
  signing_key:
737
754
  specification_version: 4
738
755
  summary: Preliminary release of cloud process execution engine (cpee.org). If you
@@ -1,43 +0,0 @@
1
- <?xml version="1.0"?>
2
- <description xmlns="http://cpee.org/ns/description/1.0">
3
- <call id="a1" endpoint="">
4
- <parameters>
5
- <label>asdad</label>
6
- <method>:post</method>
7
- <arguments/>
8
- </parameters>
9
- <code>
10
- <prepare/>
11
- <finalize output="result"/>
12
- <update output="result"/>
13
- <rescue output="result"/>
14
- </code>
15
- <annotations>
16
- <_timing>
17
- <_timing_weight/>
18
- <_timing_avg/>
19
- <explanations/>
20
- </_timing>
21
- <_context_data_analysis>
22
- <probes/>
23
- <ips/>
24
- </_context_data_analysis>
25
- <report>
26
- <url>http://hoellerersdsdf</url>
27
- </report>
28
- <_notes>
29
- <_notes_general/>
30
- </_notes>
31
- </annotations>
32
- <documentation>
33
- <input/>
34
- <output/>
35
- <implementation>
36
- <description/>
37
- </implementation>
38
- <code>
39
- <description/>
40
- </code>
41
- </documentation>
42
- </call>
43
- </description>
@@ -1 +0,0 @@
1
- 931760
@@ -1 +0,0 @@
1
- 931768