rbbt-util 5.17.66 → 5.17.67
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/lib/rbbt/rest/client/step.rb +76 -54
- data/share/rbbt_commands/workflow/task +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d4ef9267e2bc495c4a096fb0ff068bcc8452292
|
4
|
+
data.tar.gz: 79a7fd2e3f155d664b6e44fa3b2009c8feefda17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 165e5c19edb0a4954c7f152293b23138739513cfa1f003a4157450ee38dd19be29bf2a62df17a27092cde4245abda1f78db811dd68dcb6716d47d733e45fe764
|
7
|
+
data.tar.gz: 520f8ed20a43daee1f9acfc0a7df2993f4e4fcbd78dcebe891e80e791fa40bc3638973c048af101ae8155dd8156a842e5099764f68efff7d7ef25152af891261
|
@@ -29,14 +29,14 @@ class WorkflowRESTClient
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def info(check_lock=false)
|
32
|
-
done = @info and @info[:status] and @info[:status].to_sym == :done
|
33
|
-
@info
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
32
|
+
@done = @info and @info[:status] and @info[:status].to_sym == :done
|
33
|
+
@info = Persist.memory("RemoteSteps Info", :url => @url, :persist => !!@done) do
|
34
|
+
init_job unless url
|
35
|
+
info = WorkflowRESTClient.get_json(File.join(url, 'info'))
|
36
|
+
info = WorkflowRESTClient.fix_hash(info)
|
37
|
+
info[:status] = info[:status].to_sym if String === info[:status]
|
38
|
+
info
|
39
|
+
end
|
40
40
|
end
|
41
41
|
|
42
42
|
def status
|
@@ -71,48 +71,6 @@ class WorkflowRESTClient
|
|
71
71
|
nil
|
72
72
|
end
|
73
73
|
|
74
|
-
def load_res(res, result_type = nil)
|
75
|
-
result_type ||= self.result_type
|
76
|
-
case result_type
|
77
|
-
when :string
|
78
|
-
res
|
79
|
-
when :boolean
|
80
|
-
res == "true"
|
81
|
-
when :tsv
|
82
|
-
TSV.open(StringIO.new(res))
|
83
|
-
when :annotations
|
84
|
-
Annotated.load_tsv(TSV.open(StringIO.new(res)))
|
85
|
-
when :array
|
86
|
-
res.split("\n")
|
87
|
-
else
|
88
|
-
JSON.parse res
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
def get
|
93
|
-
params ||= {}
|
94
|
-
params = params.merge(:_format => [:string, :boolean, :tsv, :annotations,:array].include?(result_type.to_sym) ? :raw : :json )
|
95
|
-
Misc.insist 3, rand(2) + 1 do
|
96
|
-
begin
|
97
|
-
WorkflowRESTClient.get_raw(url, params)
|
98
|
-
rescue
|
99
|
-
Log.exception $!
|
100
|
-
raise $!
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
def load
|
106
|
-
params = {}
|
107
|
-
load_res get
|
108
|
-
end
|
109
|
-
|
110
|
-
def exec_job
|
111
|
-
res = WorkflowRESTClient.capture_exception do
|
112
|
-
RestClient.post(URI.encode(File.join(base_url, task.to_s)), inputs.merge(:_cache_type => :exec, :_format => [:string, :boolean, :tsv, :annotations].include?(result_type) ? :raw : :json))
|
113
|
-
end
|
114
|
-
load_res res, result_type == :array ? :json : result_type
|
115
|
-
end
|
116
74
|
|
117
75
|
def fork
|
118
76
|
init_job(:asynchronous)
|
@@ -133,7 +91,7 @@ class WorkflowRESTClient
|
|
133
91
|
if @is_exec
|
134
92
|
exec_job
|
135
93
|
else
|
136
|
-
init_job
|
94
|
+
init_job
|
137
95
|
self.load
|
138
96
|
end
|
139
97
|
end
|
@@ -146,16 +104,77 @@ class WorkflowRESTClient
|
|
146
104
|
end
|
147
105
|
|
148
106
|
def join
|
149
|
-
|
150
|
-
self.
|
151
|
-
self
|
107
|
+
sleep 0.2 unless self.done?
|
108
|
+
sleep 1 unless self.done?
|
109
|
+
sleep 3 while not self.done?
|
110
|
+
end
|
111
|
+
|
112
|
+
def get
|
113
|
+
params ||= {}
|
114
|
+
params = params.merge(:_format => [:string, :boolean, :tsv, :annotations,:array].include?(result_type.to_sym) ? :raw : :json )
|
115
|
+
Misc.insist 3, rand(2) + 1 do
|
116
|
+
begin
|
117
|
+
WorkflowRESTClient.get_raw(url, params)
|
118
|
+
rescue
|
119
|
+
Log.exception $!
|
120
|
+
raise $!
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
def load_res(res, result_type = nil)
|
126
|
+
join
|
127
|
+
result_type ||= self.result_type
|
128
|
+
case result_type
|
129
|
+
when :string
|
130
|
+
res
|
131
|
+
when :boolean
|
132
|
+
res == "true"
|
133
|
+
when :tsv
|
134
|
+
TSV.open(StringIO.new(res))
|
135
|
+
when :annotations
|
136
|
+
Annotated.load_tsv(TSV.open(StringIO.new(res)))
|
137
|
+
when :array
|
138
|
+
res.split("\n")
|
139
|
+
else
|
140
|
+
JSON.parse res
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
def load
|
145
|
+
params = {}
|
146
|
+
load_res get
|
147
|
+
end
|
148
|
+
|
149
|
+
def exec_job
|
150
|
+
res = WorkflowRESTClient.capture_exception do
|
151
|
+
RestClient.post(URI.encode(File.join(base_url, task.to_s)), inputs.merge(:_cache_type => :exec, :_format => [:string, :boolean, :tsv, :annotations].include?(result_type) ? :raw : :json))
|
152
|
+
end
|
153
|
+
load_res res, result_type == :array ? :json : result_type
|
154
|
+
end
|
155
|
+
|
156
|
+
def _restart
|
157
|
+
@done = nil
|
158
|
+
@name = nil
|
159
|
+
new_inputs = {}
|
160
|
+
inputs.each do |k,i|
|
161
|
+
if File === i
|
162
|
+
new_inputs[k] = File.open(i.path)
|
163
|
+
else
|
164
|
+
new_inputs[k] = i
|
165
|
+
end
|
166
|
+
end
|
167
|
+
@inputs = new_inputs
|
152
168
|
end
|
153
169
|
|
154
170
|
def recursive_clean
|
155
171
|
begin
|
156
172
|
inputs = Array === self.inputs ? Hash[*self.inputs.flatten] : self.inputs
|
157
173
|
params = inputs.merge(:_update => :recursive_clean)
|
174
|
+
init_job
|
158
175
|
WorkflowRESTClient.get_raw(url, params)
|
176
|
+
_restart
|
177
|
+
init_job
|
159
178
|
rescue Exception
|
160
179
|
Log.exception $!
|
161
180
|
end
|
@@ -166,7 +185,10 @@ class WorkflowRESTClient
|
|
166
185
|
begin
|
167
186
|
inputs = Array === self.inputs ? Hash[*self.inputs.flatten] : self.inputs
|
168
187
|
params = inputs.merge(:_update => :clean)
|
188
|
+
init_job
|
169
189
|
WorkflowRESTClient.get_raw(url, params)
|
190
|
+
_restart
|
191
|
+
init_job
|
170
192
|
rescue Exception
|
171
193
|
Log.exception $!
|
172
194
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbbt-util
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.17.
|
4
|
+
version: 5.17.67
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|