rbbt-util 5.24.3 → 5.24.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dc724315cf570c49c12aed817fc7996bb01c2c14
4
- data.tar.gz: 9ed853ef0afa511e95ccf195e3b4407274fda1cd
3
+ metadata.gz: dee6dfbe9d1a772c397240379672725fa87d00e6
4
+ data.tar.gz: 3dc029798e1c7c5bca86efff35790fc5466205b0
5
5
  SHA512:
6
- metadata.gz: 36ac51895692f1d69f5d402e6bef9ff57e52118793f9f3b43115c58a28755d073a4f84b0910600b59504acdce29becc6fbccfbed8f19dfabaf4e6f04da44f102
7
- data.tar.gz: daa26aa5e764a10dc3a6b770e7f9d61143173fbf4c65d946dc129a3e040d1b038a8e555902edd61560b6b0bee2a5544a141fbb5c3a80e47b7a0ecd91ab44d94e
6
+ metadata.gz: 8f245d1e98280306381c5b9aa4e0f7d17641051bb70efe3ce1e49305fe23bdfe60ca33a359aff2952e6eff0d8c69dcb8b8d70ef5d72f845c69dc7980136b97d8
7
+ data.tar.gz: 929cfce01b2fa8b16df94b8ee963f6d16bf008fa5405a7d83c19ec3b4d14193984e4db4611ffc755b211ff7368cf410526b83ac78d0d143c7f71d8c2818bc569
@@ -0,0 +1,8 @@
1
+ $rest_cache_semaphore = "/REST_SEMAPHORE"
2
+ parallel_rest_jobs = Rbbt::Config.get('parallel_rest_jobs', :parallel_rest_jobs, :rest_jobs, :default => 2)
3
+ begin
4
+ RbbtSemaphore.delete_semaphore($rest_cache_semaphore)
5
+ ensure
6
+ RbbtSemaphore.create_semaphore($rest_cache_semaphore, parallel_rest_jobs)
7
+ end
8
+ Log.debug("Created semaphore: #{$rest_cache_semaphore} with #{parallel_rest_jobs} size")
@@ -79,6 +79,9 @@ module Rbbt::Config
79
79
  end
80
80
 
81
81
  def self.get(key, *tokens)
82
+ options = tokens.pop if Hash === tokens.last
83
+ default = options.nil? ? nil : options[:default]
84
+
82
85
  tokens = tokens.flatten
83
86
  file, _sep, line = caller.reject{|l|
84
87
  l =~ /rbbt\/(?:resource\.rb|workflow\.rb)/ or
@@ -104,7 +107,7 @@ module Rbbt::Config
104
107
  end
105
108
  end
106
109
 
107
- value = priorities.empty? ? nil : priorities.sort_by{|p,v| p}.first.last.first
110
+ value = priorities.empty? ? default : priorities.sort_by{|p,v| p}.first.last.first
108
111
  value = false if value == 'false'
109
112
  Log.debug "Value #{value.inspect} for config key '#{ key }': #{tokens * ", "}"
110
113
  value
@@ -564,7 +564,7 @@ class Step
564
564
 
565
565
  def config(key, *tokens)
566
566
  options = tokens.pop if Hash === tokens.last
567
- default = options[:default] if options
567
+ options ||= {}
568
568
 
569
569
  new_tokens = []
570
570
  if workflow
@@ -574,9 +574,7 @@ class Step
574
574
  end
575
575
  new_tokens << ("task:" << task_name.to_s)
576
576
 
577
- value = Rbbt::Config.get(key, tokens + new_tokens)
578
-
579
- value || default
577
+ Rbbt::Config.get(key, tokens + new_tokens, options)
580
578
  end
581
579
 
582
580
  def access
@@ -479,8 +479,13 @@ class Step
479
479
  sout.close if sout
480
480
  Misc.pre_fork
481
481
  begin
482
- RbbtSemaphore.wait_semaphore(semaphore) if semaphore
483
482
  Open.mkdir File.dirname(path) unless Open.exist?(File.dirname(path))
483
+ Open.write(pid_file, Process.pid.to_s) unless Open.exists?(path) or Open.exists?(pid_file)
484
+ if semaphore
485
+ init_info
486
+ log :queue, "Queued over semaphore: #{semaphore}"
487
+ RbbtSemaphore.wait_semaphore(semaphore)
488
+ end
484
489
  begin
485
490
  @forked = true
486
491
  res = run no_load
@@ -261,7 +261,6 @@ class Step
261
261
  else
262
262
  children_pids << child_pid
263
263
  end
264
- #Process.detach(child_pid)
265
264
  set_info :children_pids, children_pids
266
265
  child_pid
267
266
  end
data/share/config.ru CHANGED
@@ -67,6 +67,9 @@ load_file Rbbt.etc['app.d/post.rb'].find_all
67
67
  #{{{ PRELOAD
68
68
  load_file Rbbt.etc['app.d/preload.rb'].find_all
69
69
 
70
+ #{{{ PRELOAD
71
+ load_file Rbbt.etc['app.d/semaphores.rb'].find_all
72
+
70
73
  #{{{ SINATRA
71
74
  load_file Rbbt.lib['sinatra.rb'].find_all
72
75
 
@@ -82,4 +85,3 @@ $title = app_name
82
85
  require 'rack'
83
86
  use Rack::Deflater
84
87
  run app
85
-
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-util
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.24.3
4
+ version: 5.24.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
@@ -194,6 +194,7 @@ files:
194
194
  - etc/app.d/remote_workflow_tasks.rb
195
195
  - etc/app.d/requires.rb
196
196
  - etc/app.d/resources.rb
197
+ - etc/app.d/semaphores.rb
197
198
  - etc/app.d/workflows.rb
198
199
  - lib/rbbt-util.rb
199
200
  - lib/rbbt.rb