weel 1.99.129 → 1.99.130
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/weel.rb +23 -22
- data/weel.gemspec +1 -1
- 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: a65829729d2a2508096cec3ee8ab6ee5abbd32d718cc50a4b2c68fc5632728bc
|
4
|
+
data.tar.gz: 4c1a71c7a48f37a41fe99c8b79f70adc2fa175f44635ead7694c7d3a5a4865ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6f771194196936be9d5b82fe7995fdf432bc61a59abfc51b004cd214a2b9738947e8eb90ef23bc0558dc5871d772358bff92109a21afa9cae18a303584dcfae
|
7
|
+
data.tar.gz: 5df275e55141dc2beb82530b968b0afa004985466f829acb59d7d48debb23f02180b96ddf2c6fb1dd0327049a61b0321a23dce67d8d7de42177ab524a2492482
|
data/lib/weel.rb
CHANGED
@@ -355,9 +355,8 @@ class WEEL
|
|
355
355
|
def activity_passthrough_value; end
|
356
356
|
def activity_uuid; '42424242-cpee-cpee-cpee-424242424242'; end
|
357
357
|
|
358
|
-
def activity_no_longer_necessary; end
|
359
|
-
|
360
358
|
def inform_activity_done; end
|
359
|
+
def inform_activity_cancelled; end
|
361
360
|
def inform_activity_manipulate; end
|
362
361
|
def inform_activity_failed(err); end
|
363
362
|
def inform_manipulate_change(status,changed_data,changed_endpoints,data,endpoints); end
|
@@ -380,8 +379,8 @@ class WEEL
|
|
380
379
|
end
|
381
380
|
end
|
382
381
|
|
383
|
-
def join_branches(branches); end
|
384
|
-
def split_branches(branches); end
|
382
|
+
def join_branches(id,branches=[]); end
|
383
|
+
def split_branches(id,branches=[]); end
|
385
384
|
end # }}}
|
386
385
|
|
387
386
|
class Position # {{{
|
@@ -534,7 +533,7 @@ class WEEL
|
|
534
533
|
end
|
535
534
|
|
536
535
|
cw = @__weel_connectionwrapper.new @__weel_connectionwrapper_args
|
537
|
-
cw.split_branches
|
536
|
+
cw.split_branches Thread.current.__id__, Thread.current[:branch_traces]
|
538
537
|
|
539
538
|
Thread.current[:branches].each do |thread|
|
540
539
|
# decide after executing block in parallel cause for coopis
|
@@ -547,7 +546,7 @@ class WEEL
|
|
547
546
|
|
548
547
|
Thread.current[:branch_event].wait unless self.__weel_state == :stopping || self.__weel_state == :finishing || self.__weel_state == :stopped || Thread.current[:branches].length == 0
|
549
548
|
|
550
|
-
cw.join_branches
|
549
|
+
cw.join_branches Thread.current.__id__, Thread.current[:branch_traces]
|
551
550
|
|
552
551
|
unless self.__weel_state == :stopping || self.__weel_state == :finishing || self.__weel_state == :stopped
|
553
552
|
# first set all to no_longer_neccessary, just in case, but this should not be necessary
|
@@ -635,9 +634,11 @@ class WEEL
|
|
635
634
|
Thread.current[:alternative_mode] << mode
|
636
635
|
|
637
636
|
cw = @__weel_connectionwrapper.new @__weel_connectionwrapper_args
|
638
|
-
cw.split_branches(Thread.current[:branch_traces])
|
639
637
|
|
638
|
+
cw.split_branches Thread.current.__id__
|
640
639
|
__weel_protect_yield(&block)
|
640
|
+
cw.join_branches Thread.current.__id__
|
641
|
+
|
641
642
|
Thread.current[:alternative_executed].pop
|
642
643
|
Thread.current[:alternative_mode].pop
|
643
644
|
nil
|
@@ -898,7 +899,6 @@ class WEEL
|
|
898
899
|
waitingresult = Thread.current[:continue].wait unless Thread.current[:nolongernecessary] || self.__weel_state == :stopping || self.__weel_state == :finishing || self.__weel_state == :stopped
|
899
900
|
|
900
901
|
if Thread.current[:nolongernecessary]
|
901
|
-
connectionwrapper.activity_no_longer_necessary
|
902
902
|
raise Signal::NoLongerNecessary
|
903
903
|
end
|
904
904
|
if self.__weel_state == :stopping || self.__weel_state == :finishing
|
@@ -912,7 +912,11 @@ class WEEL
|
|
912
912
|
code, cmess = if waitingresult == WEEL::Signal::UpdateAgain
|
913
913
|
[update, 'update']
|
914
914
|
elsif waitingresult == WEEL::Signal::Salvage
|
915
|
-
|
915
|
+
if salvage
|
916
|
+
[salvage, 'salvage']
|
917
|
+
else
|
918
|
+
raise('HTTP Error. The service return status was not between 200 and 300.')
|
919
|
+
end
|
916
920
|
else
|
917
921
|
[finalize, 'finalize']
|
918
922
|
end
|
@@ -933,6 +937,8 @@ class WEEL
|
|
933
937
|
@__weel_endpoints
|
934
938
|
)
|
935
939
|
throw(Signal::Again, Signal::Again) if ma.nil? || ma == Signal::Again # this signal again loops "there is a catch" because rescue signal throw that throughly restarts the task
|
940
|
+
else
|
941
|
+
|
936
942
|
end
|
937
943
|
end while waitingresult == Signal::UpdateAgain # this signal again loops because async update, proposal: rename to UpdateAgain
|
938
944
|
if connectionwrapper.activity_passthrough_value.nil?
|
@@ -951,6 +957,7 @@ class WEEL
|
|
951
957
|
wp.detail = :unmark
|
952
958
|
end
|
953
959
|
rescue Signal::NoLongerNecessary
|
960
|
+
connectionwrapper.inform_activity_cancelled
|
954
961
|
connectionwrapper.inform_activity_done
|
955
962
|
@__weel_positions.delete wp
|
956
963
|
Thread.current[:branch_position] = nil
|
@@ -1064,7 +1071,7 @@ class WEEL
|
|
1064
1071
|
def __weel_state=(newState)# {{{
|
1065
1072
|
return @__weel_state if newState == @__weel_state && @__weel_state != :ready
|
1066
1073
|
|
1067
|
-
@__weel_positions = Array.new if newState == :running
|
1074
|
+
@__weel_positions = Array.new if newState == :running
|
1068
1075
|
@__weel_state = newState
|
1069
1076
|
|
1070
1077
|
if newState == :stopping || newState == :finishing
|
@@ -1145,7 +1152,7 @@ public
|
|
1145
1152
|
@dslr.__weel_state = :stopping
|
1146
1153
|
@dslr.__weel_connectionwrapper::inform_syntax_error(@dslr.__weel_connectionwrapper_args,err,code)
|
1147
1154
|
end
|
1148
|
-
if @dslr.__weel_state == :running || @dslr.__weel_state == :finishing
|
1155
|
+
if @dslr.__weel_state == :running || @dslr.__weel_state == :finishing
|
1149
1156
|
ipc = { :unmark => [] }
|
1150
1157
|
@dslr.__weel_positions.each{ |wp| ipc[:unmark] << wp }
|
1151
1158
|
@dslr.__weel_positions.clear
|
@@ -1204,7 +1211,7 @@ public
|
|
1204
1211
|
# Stop the workflow execution
|
1205
1212
|
def stop # {{{
|
1206
1213
|
Thread.new do
|
1207
|
-
if @dslr.__weel_state == :running
|
1214
|
+
if @dslr.__weel_state == :running
|
1208
1215
|
@dslr.__weel_state = :stopping
|
1209
1216
|
@dslr.__weel_main.join if @dslr.__weel_main
|
1210
1217
|
elsif @dslr.__weel_state == :ready || @dslr.__weel_state == :stopped
|
@@ -1226,18 +1233,12 @@ public
|
|
1226
1233
|
end
|
1227
1234
|
end
|
1228
1235
|
end # }}}
|
1229
|
-
|
1236
|
+
|
1230
1237
|
def sim # {{{
|
1231
|
-
|
1238
|
+
stat = @dslr.__weel_state
|
1239
|
+
return nil unless stat == :ready || stat == :stopped
|
1232
1240
|
@dslr.__weel_main = Thread.new do
|
1233
|
-
|
1234
|
-
begin
|
1235
|
-
__weel_control_flow(:simulating, stat)
|
1236
|
-
rescue => e
|
1237
|
-
puts e.message
|
1238
|
-
puts e.backtrace
|
1239
|
-
connectionwrapper::inform_connectionwrapper_error connectionwrapper_args, e
|
1240
|
-
end
|
1241
|
+
__weel_control_flow :simulating, stat
|
1241
1242
|
end
|
1242
1243
|
end # }}}
|
1243
1244
|
|
data/weel.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: weel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.99.
|
4
|
+
version: 1.99.130
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juergen eTM Mangler
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2024-10-
|
12
|
+
date: 2024-10-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: test-unit
|
@@ -100,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
100
|
- !ruby/object:Gem::Version
|
101
101
|
version: '0'
|
102
102
|
requirements: []
|
103
|
-
rubygems_version: 3.5.
|
103
|
+
rubygems_version: 3.5.16
|
104
104
|
signing_key:
|
105
105
|
specification_version: 4
|
106
106
|
summary: Workflow Execution Engine Library (WEEL)
|