rbbt-util 5.21.122 → 5.21.123

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: e3570acbd38ac9c6559cabbfc3dae257ecae6dc0
4
- data.tar.gz: f863e68d23369100f01c3d818aaecad50205afff
3
+ metadata.gz: 7d9b73ef742e367384eeec735b980ad4ef809bf3
4
+ data.tar.gz: 3a2d1e5c49ccbb386c4bbe42b57cc031c6271010
5
5
  SHA512:
6
- metadata.gz: 25abb01fe95848d99d5b20e3db8f00a03921377ea291fec3c4a938e1b73deb42650c068f2f3b1349e4dfc097515176f4d0bc8d87b096e8882076e3e187985a97
7
- data.tar.gz: 3a1327e9286689eadfb6c6fc6725323dcb338eb7d9bc783e2dd8d80cf1998907346c764103777fbaad582ed38471dbc76c9cc860c9ec266247292fecd041eb97
6
+ metadata.gz: 0460b59b327c793efaddfe14f3109a4b34ff5346b48c0284ec9d55e5f66cdaf3e508472ac5e554ab13aff8af9716230c05f10dbac81b93a3aaaa977832ce08c7
7
+ data.tar.gz: 01606ac902c2c9da0ee2bc24c46ca83483ce1b67d55af4ab0bc84d111d551a4ff3d2daf3907970feb6510c5f3040061a5951ba842449f8f25c5f5c6b9e9d4a0f
@@ -85,7 +85,7 @@ class RbbtProcessQueue
85
85
  if current > memory_cap and not @asked
86
86
  Log.medium "Worker #{@current} for #{Process.pid} asked to respawn -- initial: #{initial} - multiplier: #{multiplier} - cap: #{memory_cap} - current: #{current}"
87
87
  RbbtSemaphore.synchronize(@callback_queue.write_sem) do
88
- Process.kill "USR1", @current
88
+ Process.kill "USR1", @current if @current
89
89
  end
90
90
  @asked = true
91
91
  end
@@ -61,7 +61,9 @@ module Misc
61
61
  when (defined? AnnotatedArray and AnnotatedArray)
62
62
  "<A: #{fingerprint Annotated.purge(obj)} #{fingerprint obj.info}>"
63
63
  when (defined? TSV and TSV::Parser)
64
- "<TSVStream:" + (obj.filename || "NOFILENAME") + "--" << Misc.fingerprint(obj.options) << ">"
64
+ filename = obj.filename
65
+ filename = "STDIN(#{rand})" if filename == '-'
66
+ "<TSVStream:" + (filename || "NOFILENAME") + "--" << Misc.fingerprint(obj.options) << ">"
65
67
  when IO
66
68
  (obj.respond_to?(:filename) and obj.filename ) ? "<IO:" + (obj.filename || obj.inspect + rand(100000)) + ">" : obj.inspect
67
69
  when File
@@ -106,7 +108,9 @@ module Misc
106
108
  when obj.respond_to?(:path)
107
109
  remove_long_items("File: " + obj.path)
108
110
  when TSV::Parser === obj
109
- remove_long_items("TSV Stream: " + obj.filename + " -- " << Misc.fingerprint(obj.options))
111
+ filename = obj.filename
112
+ filename = "STDIN(rand-#{rand(10000000)})" if filename == '-'
113
+ remove_long_items("TSV Stream: " + filename + " -- " << Misc.fingerprint(obj.options))
110
114
  when TSV === obj
111
115
  remove_long_items((obj.all_fields || []) + obj.keys.sort)
112
116
  when (Array === obj and obj.length > ARRAY_MAX_LENGTH)
@@ -402,6 +402,9 @@ class Step
402
402
  (IO === @result) or (not @saved_stream.nil?) or status == :streaming
403
403
  end
404
404
 
405
+ def noinfo?
406
+ status == :noinfo
407
+ end
405
408
 
406
409
  def running?
407
410
  pid = info[:pid]
@@ -286,7 +286,7 @@ class Step
286
286
  status << "dirty" if done? && dirty?
287
287
  status << "not running" if ! done? && ! running?
288
288
  status.unshift " " if status.any?
289
- Log.medium "Cleaning step: #{path}#{status * " "}"
289
+ Log.high "Cleaning step: #{path}#{status * " "}"
290
290
  abort if ! done? && running?
291
291
  Step.clean(path)
292
292
  self
@@ -82,9 +82,9 @@ class Step
82
82
 
83
83
  if (status == 'error' && (job.recoverable_error? || job.dirty?)) ||
84
84
  job.aborted? ||
85
- (job.done? && ! job.updated?) || (job.error? && ! job.updated?)
86
- (job.done? && job.dirty?) || (job.error? && job.dirty?)
87
- (! (job.status == :waiting || job.status == :noinfo || job.done? || job.error? || job.aborted?) && ! job.running?)
85
+ (job.done? && ! job.updated?) || (job.error? && ! job.updated?) ||
86
+ (job.done? && job.dirty?) || (job.error? && job.dirty?) ||
87
+ (!(job.noinfo? || job.done? || job.error? || job.aborted? || job.running?))
88
88
 
89
89
  job.clean
90
90
  end
@@ -25,6 +25,7 @@ class Step
25
25
  begin
26
26
  if Step === i
27
27
  step = true
28
+ i.produce unless i.done? || i.error? || i.started?
28
29
  if i.done?
29
30
  if (task.input_options[task.inputs[pos]] || {})[:stream]
30
31
  TSV.get_stream i
@@ -114,8 +115,8 @@ class Step
114
115
  end
115
116
  end
116
117
 
117
- Log.low "Some newer files found: #{Misc.fingerprint outdated_time}" if outdated_time.any?
118
- Log.low "Some outdated files found: #{Misc.fingerprint outdated_dep}" if outdated_dep.any?
118
+ Log.high "Some newer files found: #{Misc.fingerprint outdated_time}" if outdated_time.any?
119
+ Log.high "Some outdated files found: #{Misc.fingerprint outdated_dep}" if outdated_dep.any?
119
120
 
120
121
  outdated_time + outdated_dep
121
122
  end
@@ -115,6 +115,21 @@ if etc_dir['target_workflow_exec_exports'].exists?
115
115
  end
116
116
  end
117
117
 
118
+ app.get '/reload_workflow' do
119
+ if production?
120
+ halt 500, "Not allowed in production"
121
+ end
122
+
123
+ workflow = params[:workflow] if params[:workflow]
124
+ wf_file = Workflow.local_workflow_filename(workflow)
125
+ wf_dir = File.dirname(wf_file)
126
+ $LOADED_FEATURES.delete_if do |path|
127
+ Misc.path_relative_to(wf_dir, path)
128
+ end
129
+ load wf_file
130
+ halt 200, "Workflow #{ workflow } reloaded"
131
+ end
132
+
118
133
  #{{{ RUN
119
134
  require 'rack'
120
135
  use Rack::Deflater
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.21.122
4
+ version: 5.21.123
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-13 00:00:00.000000000 Z
11
+ date: 2018-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake