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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0ef711b3e60776fe76714a2e0d71b86a36fe6287
4
- data.tar.gz: b46b1eda7bb4fedb500f423bc096c820d0cc9f68
3
+ metadata.gz: 9d4ef9267e2bc495c4a096fb0ff068bcc8452292
4
+ data.tar.gz: 79a7fd2e3f155d664b6e44fa3b2009c8feefda17
5
5
  SHA512:
6
- metadata.gz: 7d10d1091b0fb9a7c309071e2489532ecc19752417a98fdb104cc7f816a17508edcfc707824592fa9872c69438007b6938a5e77d6adfb8c1ff7315a4f80971e0
7
- data.tar.gz: 652e85cd3c4347ee50c69d899167e6f5beaf3c4320b8c9d6c8e0e68a9476ea07c12e4befdb7c2b1e0a93eb0506ed7cb901a603291d49488daa4854c8b3d13524
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 ||= 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
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(:synchronous)
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
- return if self.done?
150
- self.load
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
@@ -348,7 +348,7 @@ begin
348
348
  if options.delete(:printpath)
349
349
  job.join
350
350
  if Open.remote? job.path
351
- puts job.path + Log.color(:blue, "?_format=raw")
351
+ puts job.url + Log.color(:blue, "?_format=raw")
352
352
  else
353
353
  puts job.path
354
354
  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.66
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-17 00:00:00.000000000 Z
11
+ date: 2015-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake