cpee 2.1.39 → 2.1.43

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) 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 +3 -3
  22. data/lib/cpee/implementation.rb +54 -31
  23. data/lib/cpee/message.rb +13 -4
  24. data/server/executionhandlers/ruby/controller.rb +18 -13
  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.rb +3 -2
  28. data/server/routing/forward-events.rb +20 -13
  29. data/server/routing/forward-votes.rb +4 -4
  30. data/server/routing/persist.rb +37 -29
  31. data/server/server.conf +1 -1
  32. data/server/server.pid +1 -0
  33. data/tools/cpee +52 -12
  34. metadata +17 -12
  35. data/server/executionhandlers/ruby/test.xml +0 -43
  36. data/server/routing/end.pid +0 -1
  37. data/server/routing/forward-events.pid +0 -1
  38. data/server/routing/forward-votes.pid +0 -1
  39. data/server/routing/persist.pid +0 -1
@@ -20,42 +20,50 @@ 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
+ ["--workers=NUM", "-wNUM", "Number of workers that are expected, e.g. 3", ->(p) { opts[:workers] = p.to_i }]
42
31
  ]
43
32
 
44
33
  on startup do
45
- opts[:redis_path] ||= '/tmp/redis.sock'
34
+ opts[:redis_path] ||= '/tmp/redis.sock'.freeze
46
35
  opts[:redis_db] ||= 1
47
-
36
+ opts[:events] = []
37
+ 0.upto(opts[:workers]-1) do |w|
38
+ opts[:events] += [
39
+ 'event:' + ('%02i' % w) + ':state/change',
40
+ 'event:' + ('%02i' % w) + ':executionhandler/change',
41
+ 'event:' + ('%02i' % w) + ':description/change',
42
+ 'event:' + ('%02i' % w) + ':dataelements/change',
43
+ 'event:' + ('%02i' % w) + ':endpoints/change',
44
+ 'event:' + ('%02i' % w) + ':attributes/change',
45
+ 'event:' + ('%02i' % w) + ':transformation/change',
46
+ 'event:' + ('%02i' % w) + ':status/change',
47
+ 'event:' + ('%02i' % w) + ':position/change',
48
+ 'event:' + ('%02i' % w) + ':handler/change',
49
+ 'callback:' + ('%02i' % w) + ':activity/content'
50
+ ]
51
+ end
52
+ opts[:events].freeze
48
53
  CPEE::redis_connect opts, 'Server Routing Persist'
49
54
  opts[:pubsubredis] = opts[:redis_dyn].call 'Server Routing Persist Sub'
55
+ rescue => e
56
+ puts e.message
57
+ puts e.backtrace
50
58
  end
51
59
 
52
60
  run do
53
- opts[:pubsubredis].subscribe(EVENTS) do |on|
61
+ opts[:pubsubredis].subscribe(opts[:events]) do |on|
54
62
  on.message do |what, message|
55
63
  mess = JSON.parse(message[message.index(' ')+1..-1])
56
64
  instance = mess.dig('instance')
57
65
  case what
58
- when 'callback:activity/content'
66
+ when /callback:\d+:activity\/content/
59
67
  key = mess.dig('content','key')
60
68
  opts[:redis].multi do |multi|
61
69
  multi.sadd("instance:#{instance}/callbacks",key)
@@ -64,28 +72,28 @@ Daemonite.new do |opts|
64
72
  multi.set("instance:#{instance}/callback/#{key}/position",mess.dig('content','activity'))
65
73
  multi.set("instance:#{instance}/callback/#{key}/type",'callback')
66
74
  end
67
- when 'event:state/change'
75
+ when /event:\d+:state\/change/
68
76
  opts[:redis].multi do |multi|
69
77
  unless mess.dig('content','state') == 'purged'
70
78
  multi.set("instance:#{instance}/state",mess.dig('content','state'))
71
79
  multi.set("instance:#{instance}/state/@changed",mess.dig('timestamp'))
72
80
  end
73
81
  end
74
- when 'event:executionhandler/change'
82
+ when /event:\d+:executionhandler\/change/
75
83
  opts[:redis].set("instance:#{instance}/executionhandler",mess.dig('content','executionhandler'))
76
- when 'event:description/change'
84
+ when /event:\d+:description\/change/
77
85
  opts[:redis].multi do |multi|
78
86
  multi.set("instance:#{instance}/description",mess.dig('content','description'))
79
87
  multi.set("instance:#{instance}/dslx",mess.dig('content','dslx'))
80
88
  multi.set("instance:#{instance}/dsl",mess.dig('content','dsl'))
81
89
  end
82
- when 'event:dataelements/change', 'event:endpoints/change', 'event:attributes/change'
90
+ when /event:\d+:dataelements\/change/, /event:\d+:endpoints\/change/, /event:\d+:attributes\/change/
83
91
  topic = mess.dig('topic')
84
92
  opts[:redis].multi do |multi|
85
93
  mess.dig('content','changed')&.each_with_index do |c,i|
86
- unless what == 'event:attributes/change' && c == 'uuid'
94
+ unless what =~ /event:\d+:attributes\/change/ && c == 'uuid'
87
95
  multi.zadd("instance:#{instance}/#{topic}",i,c)
88
- if what == 'event:dataelements/change'
96
+ if what =~ /event:\d+:dataelements\/change/
89
97
  multi.set("instance:#{instance}/#{topic}/#{c}",CPEE::ValueHelper::generate(mess.dig('content','values',c)))
90
98
  else
91
99
  multi.set("instance:#{instance}/#{topic}/#{c}",mess.dig('content','values',c))
@@ -93,13 +101,13 @@ Daemonite.new do |opts|
93
101
  end
94
102
  end
95
103
  mess.dig('content','deleted')&.to_a&.each do |c|
96
- unless what == 'event:attributes/change' && c == 'uuid'
104
+ unless what =~ /event:\d+:attributes\/change/ && c == 'uuid'
97
105
  multi.zrem("instance:#{instance}/#{topic}",c)
98
106
  multi.del("instance:#{instance}/#{topic}/#{c}")
99
107
  end
100
108
  end
101
109
  end
102
- when 'event:transformation/change'
110
+ when /event:\d+:transformation\/change/
103
111
  opts[:redis].multi do |multi|
104
112
  multi.set("instance:#{instance}/transformation/description",mess.dig('content','description'))
105
113
  multi.set("instance:#{instance}/transformation/description/@type",mess.dig('content','description_type'))
@@ -108,12 +116,12 @@ Daemonite.new do |opts|
108
116
  multi.set("instance:#{instance}/transformation/endpoints",mess.dig('content','endpoints'))
109
117
  multi.set("instance:#{instance}/transformation/endpoints/@type",mess.dig('content','endpoints_type'))
110
118
  end
111
- when 'event:status/change'
119
+ when /event:\d+:status\/change/
112
120
  opts[:redis].multi do |multi|
113
121
  multi.set("instance:#{instance}/status/id",mess.dig('content','id'))
114
122
  multi.set("instance:#{instance}/status/message",mess.dig('content','message'))
115
123
  end
116
- when 'event:position/change'
124
+ when /event:\d+:position\/change/
117
125
  opts[:redis].multi do |multi|
118
126
  c = mess.dig('content')
119
127
  c.dig('unmark')&.each do |ele|
@@ -140,7 +148,7 @@ Daemonite.new do |opts|
140
148
  multi.set("instance:#{instance}/positions/#{ele['position']}",'after')
141
149
  end
142
150
  end
143
- when 'event:handler/change'
151
+ when /event:\d+:handler\/change/
144
152
  opts[:redis].multi do |multi|
145
153
  mess.dig('content','changed').each do |c|
146
154
  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.43
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-03 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: riddl
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: '0.114'
21
+ version: '0.126'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: '0.114'
28
+ version: '0.126'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: weel
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -66,14 +66,14 @@ dependencies:
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '4.1'
69
+ version: '5.0'
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: '4.1'
76
+ version: '5.0'
77
77
  - !ruby/object:Gem::Dependency
78
78
  name: rubyzip
79
79
  requirement: !ruby/object:Gem::Requirement
@@ -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
@@ -699,15 +707,12 @@ files:
699
707
  - server/resources/states.xml
700
708
  - server/resources/topics.xml
701
709
  - server/resources/transformation.xml
702
- - server/routing/end.pid
703
710
  - server/routing/end.rb
704
- - server/routing/forward-events.pid
705
711
  - server/routing/forward-events.rb
706
- - server/routing/forward-votes.pid
707
712
  - server/routing/forward-votes.rb
708
- - server/routing/persist.pid
709
713
  - server/routing/persist.rb
710
714
  - server/server.conf
715
+ - server/server.pid
711
716
  - server/server.rb
712
717
  - tools/cpee
713
718
  - tools/server/cpee
@@ -732,7 +737,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
732
737
  - !ruby/object:Gem::Version
733
738
  version: '0'
734
739
  requirements: []
735
- rubygems_version: 3.3.7
740
+ rubygems_version: 3.3.26
736
741
  signing_key:
737
742
  specification_version: 4
738
743
  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
- 931754
@@ -1 +0,0 @@
1
- 931760
@@ -1 +0,0 @@
1
- 931764
@@ -1 +0,0 @@
1
- 931768