rbbt-util 5.44.1 → 6.0.4
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/LICENSE +1 -1
- data/bin/rbbt +67 -90
- data/bin/rbbt_exec.rb +2 -2
- data/etc/app.d/base.rb +2 -2
- data/etc/app.d/semaphores.rb +3 -3
- data/lib/rbbt/annotations/annotated_array.rb +207 -207
- data/lib/rbbt/annotations/refactor.rb +27 -0
- data/lib/rbbt/annotations/util.rb +282 -282
- data/lib/rbbt/annotations.rb +343 -320
- data/lib/rbbt/association/database.rb +200 -225
- data/lib/rbbt/association/index.rb +294 -291
- data/lib/rbbt/association/item.rb +227 -227
- data/lib/rbbt/association/open.rb +35 -34
- data/lib/rbbt/association/util.rb +0 -169
- data/lib/rbbt/association.rb +2 -4
- data/lib/rbbt/entity/identifiers.rb +119 -118
- data/lib/rbbt/entity/refactor.rb +12 -0
- data/lib/rbbt/entity.rb +319 -315
- data/lib/rbbt/hpc/batch.rb +72 -53
- data/lib/rbbt/hpc/lsf.rb +2 -2
- data/lib/rbbt/hpc/orchestrate/batches.rb +2 -2
- data/lib/rbbt/hpc/orchestrate/chains.rb +25 -5
- data/lib/rbbt/hpc/orchestrate/rules.rb +2 -2
- data/lib/rbbt/hpc/orchestrate.rb +19 -13
- data/lib/rbbt/hpc/slurm.rb +18 -18
- data/lib/rbbt/knowledge_base/entity.rb +13 -5
- data/lib/rbbt/knowledge_base/query.rb +2 -2
- data/lib/rbbt/knowledge_base/registry.rb +32 -31
- data/lib/rbbt/knowledge_base/traverse.rb +1 -1
- data/lib/rbbt/knowledge_base.rb +1 -1
- data/lib/rbbt/monitor.rb +36 -25
- data/lib/rbbt/persist/refactor.rb +166 -0
- data/lib/rbbt/persist/tsv/tokyocabinet.rb +105 -105
- data/lib/rbbt/persist/tsv.rb +187 -185
- data/lib/rbbt/persist.rb +556 -551
- data/lib/rbbt/refactor.rb +20 -0
- data/lib/rbbt/resource/path/refactor.rb +178 -0
- data/lib/rbbt/resource/path.rb +317 -497
- data/lib/rbbt/resource/util.rb +0 -48
- data/lib/rbbt/resource.rb +3 -390
- data/lib/rbbt/tsv/accessor.rb +2 -838
- data/lib/rbbt/tsv/attach.rb +303 -299
- data/lib/rbbt/tsv/change_id.rb +244 -245
- data/lib/rbbt/tsv/csv.rb +87 -85
- data/lib/rbbt/tsv/dumper.rb +2 -100
- data/lib/rbbt/tsv/excel.rb +26 -24
- data/lib/rbbt/tsv/field_index.rb +4 -1
- data/lib/rbbt/tsv/filter.rb +3 -2
- data/lib/rbbt/tsv/index.rb +2 -284
- data/lib/rbbt/tsv/manipulate.rb +750 -747
- data/lib/rbbt/tsv/marshal.rb +3 -3
- data/lib/rbbt/tsv/matrix.rb +2 -2
- data/lib/rbbt/tsv/parallel/through.rb +2 -1
- data/lib/rbbt/tsv/parallel/traverse.rb +783 -781
- data/lib/rbbt/tsv/parser.rb +678 -678
- data/lib/rbbt/tsv/refactor.rb +195 -0
- data/lib/rbbt/tsv/stream.rb +253 -251
- data/lib/rbbt/tsv/util.rb +420 -420
- data/lib/rbbt/tsv.rb +210 -208
- data/lib/rbbt/util/R/eval.rb +4 -4
- data/lib/rbbt/util/R/plot.rb +62 -166
- data/lib/rbbt/util/R.rb +21 -18
- data/lib/rbbt/util/cmd.rb +2 -318
- data/lib/rbbt/util/color.rb +269 -269
- data/lib/rbbt/util/colorize.rb +89 -89
- data/lib/rbbt/util/concurrency/processes/refactor.rb +22 -0
- data/lib/rbbt/util/concurrency/processes/worker.rb +2 -2
- data/lib/rbbt/util/concurrency/processes.rb +389 -386
- data/lib/rbbt/util/config.rb +169 -167
- data/lib/rbbt/util/filecache.rb +1 -1
- data/lib/rbbt/util/iruby.rb +20 -0
- data/lib/rbbt/util/log/progress/report.rb +241 -241
- data/lib/rbbt/util/log/progress/util.rb +99 -99
- data/lib/rbbt/util/log/progress.rb +102 -102
- data/lib/rbbt/util/log/refactor.rb +49 -0
- data/lib/rbbt/util/log.rb +486 -532
- data/lib/rbbt/util/migrate.rb +2 -2
- data/lib/rbbt/util/misc/concurrent_stream.rb +248 -246
- data/lib/rbbt/util/misc/development.rb +12 -11
- data/lib/rbbt/util/misc/exceptions.rb +117 -112
- data/lib/rbbt/util/misc/format.rb +2 -230
- data/lib/rbbt/util/misc/indiferent_hash.rb +2 -107
- data/lib/rbbt/util/misc/inspect.rb +2 -476
- data/lib/rbbt/util/misc/lock.rb +109 -106
- data/lib/rbbt/util/misc/omics.rb +9 -1
- data/lib/rbbt/util/misc/pipes.rb +765 -793
- data/lib/rbbt/util/misc/refactor.rb +20 -0
- data/lib/rbbt/util/misc/ssw.rb +27 -17
- data/lib/rbbt/util/misc/system.rb +92 -105
- data/lib/rbbt/util/misc.rb +39 -20
- data/lib/rbbt/util/named_array/refactor.rb +4 -0
- data/lib/rbbt/util/named_array.rb +3 -220
- data/lib/rbbt/util/open/refactor.rb +7 -0
- data/lib/rbbt/util/open.rb +3 -857
- data/lib/rbbt/util/procpath.rb +6 -6
- data/lib/rbbt/util/python/paths.rb +27 -0
- data/lib/rbbt/util/python/run.rb +115 -0
- data/lib/rbbt/util/python/script.rb +110 -0
- data/lib/rbbt/util/python/util.rb +3 -3
- data/lib/rbbt/util/python.rb +22 -81
- data/lib/rbbt/util/semaphore.rb +152 -148
- data/lib/rbbt/util/simpleopt.rb +9 -8
- data/lib/rbbt/util/ssh/refactor.rb +19 -0
- data/lib/rbbt/util/ssh.rb +122 -118
- data/lib/rbbt/util/tar.rb +117 -115
- data/lib/rbbt/util/tmpfile.rb +69 -67
- data/lib/rbbt/util/version.rb +2 -0
- data/lib/rbbt/workflow/refactor/entity.rb +11 -0
- data/lib/rbbt/workflow/refactor/export.rb +66 -0
- data/lib/rbbt/workflow/refactor/inputs.rb +24 -0
- data/lib/rbbt/workflow/refactor/recursive.rb +64 -0
- data/lib/rbbt/workflow/refactor/task_info.rb +66 -0
- data/lib/rbbt/workflow/refactor.rb +150 -0
- data/lib/rbbt/workflow/remote_workflow/driver/rest.rb +1 -2
- data/lib/rbbt/workflow/remote_workflow/driver/ssh.rb +55 -32
- data/lib/rbbt/workflow/remote_workflow/remote_step/rest.rb +3 -1
- data/lib/rbbt/workflow/remote_workflow/remote_step/ssh.rb +14 -5
- data/lib/rbbt/workflow/remote_workflow/remote_step.rb +19 -7
- data/lib/rbbt/workflow/remote_workflow.rb +6 -1
- data/lib/rbbt/workflow/step/run.rb +766 -766
- data/lib/rbbt/workflow/step/save_load_inputs.rb +254 -254
- data/lib/rbbt/workflow/step.rb +2 -362
- data/lib/rbbt/workflow/task.rb +118 -118
- data/lib/rbbt/workflow/usage.rb +289 -287
- data/lib/rbbt/workflow/util/archive.rb +6 -5
- data/lib/rbbt/workflow/util/data.rb +1 -1
- data/lib/rbbt/workflow/util/orchestrator.rb +249 -246
- data/lib/rbbt/workflow/util/trace.rb +79 -44
- data/lib/rbbt/workflow.rb +4 -882
- data/lib/rbbt-util.rb +21 -13
- data/lib/rbbt.rb +16 -3
- data/python/rbbt/__init__.py +96 -4
- data/python/rbbt/workflow/remote.py +104 -0
- data/python/rbbt/workflow.py +64 -0
- data/python/test.py +10 -0
- data/share/Rlib/plot.R +37 -37
- data/share/Rlib/svg.R +22 -5
- data/share/install/software/lib/install_helpers +1 -1
- data/share/rbbt_commands/hpc/list +2 -3
- data/share/rbbt_commands/hpc/orchestrate +4 -4
- data/share/rbbt_commands/hpc/tail +2 -0
- data/share/rbbt_commands/hpc/task +10 -7
- data/share/rbbt_commands/lsf/list +2 -3
- data/share/rbbt_commands/lsf/orchestrate +4 -4
- data/share/rbbt_commands/lsf/tail +2 -0
- data/share/rbbt_commands/lsf/task +10 -7
- data/share/rbbt_commands/migrate +1 -1
- data/share/rbbt_commands/pbs/list +2 -3
- data/share/rbbt_commands/pbs/orchestrate +4 -4
- data/share/rbbt_commands/pbs/tail +2 -0
- data/share/rbbt_commands/pbs/task +10 -7
- data/share/rbbt_commands/resource/produce +8 -1
- data/share/rbbt_commands/slurm/list +2 -3
- data/share/rbbt_commands/slurm/orchestrate +4 -4
- data/share/rbbt_commands/slurm/tail +2 -0
- data/share/rbbt_commands/slurm/task +10 -7
- data/share/rbbt_commands/system/clean +5 -5
- data/share/rbbt_commands/system/status +5 -5
- data/share/rbbt_commands/tsv/get +2 -3
- data/share/rbbt_commands/tsv/info +10 -13
- data/share/rbbt_commands/tsv/keys +18 -14
- data/share/rbbt_commands/tsv/slice +2 -2
- data/share/rbbt_commands/tsv/transpose +6 -2
- data/share/rbbt_commands/workflow/info +20 -24
- data/share/rbbt_commands/workflow/list +1 -1
- data/share/rbbt_commands/workflow/prov +20 -13
- data/share/rbbt_commands/workflow/retry +43 -0
- data/share/rbbt_commands/workflow/server +12 -2
- data/share/rbbt_commands/workflow/task +80 -73
- data/share/rbbt_commands/workflow/write_info +26 -9
- data/share/software/opt/ssw/ssw.c +861 -0
- data/share/software/opt/ssw/ssw.h +130 -0
- data/share/workflow_config.ru +3 -3
- metadata +45 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b6312e564dc119b942bb279017a12bd3571f27b1caa57db746c62996e8c73407
|
4
|
+
data.tar.gz: f08802c255d5967bf211bf801fbeb7f91e9d2a82804f51393061ce422e7fc26e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f74e126c73d121853002d2918ef5cb8c9b181c7c2264d7eb7c9f4a4d78441fc6b026f1b27eca445613717fff6a8f0169f9aeb86d33afeafe2eebed696685cc3
|
7
|
+
data.tar.gz: 93ddc50c5c0f5b45e79449f81788405fada4ad9aabaeac1f6fd908765184a79220e2960472a460a973afedd31ae2ad389c60d67a80e4b82ae63ac70748bf8a25
|
data/LICENSE
CHANGED
data/bin/rbbt
CHANGED
@@ -1,4 +1,9 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
$LOAD_PATH.unshift File.join(__dir__, '../lib')
|
3
|
+
|
4
|
+
ENV["SCOUT_NOCOLOR"] = "true" if ARGV.include? "--nocolor"
|
5
|
+
|
6
|
+
ENV["SCOUT_NO_PROGRESS"] = "true" if ARGV.include? "--nobar"
|
2
7
|
|
3
8
|
class CmdStop < Exception
|
4
9
|
attr_accessor :exit_status
|
@@ -6,6 +11,8 @@ class CmdStop < Exception
|
|
6
11
|
@exit_status = exit_status
|
7
12
|
end
|
8
13
|
end
|
14
|
+
|
15
|
+
# Add paths to scout repos under --dev to LOAD_PATHS
|
9
16
|
dev_dir = nil
|
10
17
|
if _i = ARGV.index("--dev")
|
11
18
|
dev_dir = ARGV[_i+1]
|
@@ -25,117 +32,84 @@ if dev_dir.nil?
|
|
25
32
|
ARGV.delete _s if _s
|
26
33
|
end
|
27
34
|
|
35
|
+
if dev_dir.nil? && ENV["SCOUT_DEV"]
|
36
|
+
dev_dir = ENV["SCOUT_DEV"]
|
37
|
+
ARGV.delete "--dev"
|
38
|
+
ARGV.delete dev_dir
|
39
|
+
end
|
40
|
+
|
28
41
|
if dev_dir
|
29
|
-
|
30
|
-
|
42
|
+
['scout-*/lib'].each do |pattern|
|
43
|
+
Dir.glob(File.join(File.expand_path(dev_dir), pattern)).each do |f|
|
44
|
+
$LOAD_PATH.unshift f
|
45
|
+
end
|
46
|
+
end
|
47
|
+
['rbbt-*/lib'].each do |pattern|
|
48
|
+
Dir.glob(File.join(File.expand_path(dev_dir), pattern)).each do |f|
|
49
|
+
next if f.include? 'rbbt-util'
|
50
|
+
$LOAD_PATH.unshift f
|
51
|
+
end
|
31
52
|
end
|
32
53
|
end
|
33
54
|
|
34
|
-
|
35
|
-
require 'rbbt/util/simpleopt'
|
36
|
-
require 'rbbt/util/config'
|
55
|
+
require_relative '../lib/rbbt'
|
37
56
|
|
38
|
-
|
57
|
+
require 'scout'
|
58
|
+
|
59
|
+
require 'scout/simple_opt'
|
39
60
|
|
40
61
|
options = SOPT.setup <<EOF
|
41
62
|
Ruby bioinformatics toolkit
|
42
63
|
|
43
|
-
$
|
64
|
+
$ #{$0} <command> <subcommand> ... -a --arg1 --arg2='value' --arg3 'another-value'
|
44
65
|
|
45
66
|
|
46
67
|
--log* #{Log.color :yellow, "Log level from 0 (debug) 6 (errors)"}
|
47
|
-
--log_file* #{Log.color :yellow, "Divert all Rbbt logs from STDERR to the file"}
|
48
68
|
--dev* #{Log.color :yellow, "Find development libraries in the directory specified"}
|
49
|
-
-cd--command_dir* #{Log.color :yellow, "Directory from where to load command scripts"}
|
50
|
-
--profile #{Log.color :yellow, "Profile execution"}
|
51
69
|
--nocolor #{Log.color :yellow, "Disable colored output"}
|
52
70
|
--nobar #{Log.color :yellow, "Disable progress report"}
|
53
|
-
--nostream #{Log.color :yellow, "Disable persistance/job streaming"}
|
54
|
-
--update #{Log.color :yellow, "Update persisted files when dependencies update"}
|
55
|
-
--update_tsv #{Log.color :yellow, "Update persisted TSV files also if source has been updated"}
|
56
71
|
--locate_file #{Log.color :yellow, "Report the location of the script instead of executing it"}
|
57
|
-
--dump_mem* #{Log.color :yellow, "Dump strings in memory each second into file"}
|
58
|
-
-nolock--no_lock_id #{Log.color :yellow, "Do not track lockfiles with ids (prevent stale file handlers for high-througput and high-concurrency)"}
|
59
|
-
-ji--jobname_show_inputs #{Log.color :yellow, "Show inputs as part of the jobname in workflows instead of digesting them"}
|
60
72
|
-ck--config_keys* #{Log.color :yellow, "Override some config keys"}
|
61
|
-
-srand--random_seed* #{Log.color :yellow, "Set the random seed"}
|
62
73
|
EOF
|
63
74
|
|
64
|
-
|
65
|
-
if options[:jobname_show_inputs]
|
66
|
-
ENV["RBBT_INPUT_JOBNAME"] = "true"
|
67
|
-
end
|
75
|
+
Log.nocolor = true if options[:nocolor]
|
68
76
|
|
69
77
|
locate = options.delete :locate_file
|
70
78
|
|
71
79
|
if options[:log_file]
|
72
|
-
Log.logfile(options
|
73
|
-
end
|
74
|
-
|
75
|
-
Log.ignore_stderr do
|
76
|
-
begin
|
77
|
-
require "nokogiri"
|
78
|
-
rescue Exception
|
79
|
-
end
|
80
|
+
Log.logfile(options.delete(:log_file))
|
80
81
|
end
|
81
82
|
|
82
83
|
if options[:log]
|
83
|
-
Log.severity = options
|
84
|
+
Log.severity = options.delete(:log).to_i
|
84
85
|
else
|
85
|
-
global_severity = Log.get_level(
|
86
|
-
if ENV["
|
87
|
-
Log.severity = ENV["
|
86
|
+
global_severity = Log.get_level(Scout.etc.log_severity.read.strip) if Scout.etc.log_severity.exists?
|
87
|
+
if ENV["SCOUT_LOG"]
|
88
|
+
Log.severity = ENV["SCOUT_LOG"].to_i
|
88
89
|
else
|
89
|
-
global_severity = Log.get_level(
|
90
|
+
global_severity = Log.get_level(Scout.etc.log_severity.read.strip) if Scout.etc.log_severity.exists?
|
90
91
|
Log.severity = global_severity.to_i if global_severity
|
91
92
|
end
|
92
93
|
end
|
93
94
|
|
94
|
-
if options.delete(:
|
95
|
-
|
96
|
-
end
|
97
|
-
|
98
|
-
if mem_dump = options.delete(:dump_mem)
|
99
|
-
require 'rbbt/monitor'
|
100
|
-
Rbbt.dump_memory(mem_dump, String)
|
101
|
-
end
|
102
|
-
|
103
|
-
if options[:config_keys]
|
104
|
-
options[:config_keys].split(",").each do |config|
|
95
|
+
if config_keys = options.delete(:config_keys)
|
96
|
+
config_keys.split(",").each do |config|
|
105
97
|
config = config.strip
|
106
|
-
|
98
|
+
Scout::Config.process_config config
|
107
99
|
end
|
108
100
|
end
|
109
101
|
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
if options.delete(:update_tsv)
|
115
|
-
ENV["RBBT_UPDATE"] = "true"
|
116
|
-
ENV["RBBT_UPDATE_TSV_PERSIST"] = "true"
|
117
|
-
end
|
118
|
-
|
119
|
-
if options.delete :nostream
|
120
|
-
ENV["RBBT_NO_STREAM"] = "true"
|
121
|
-
end
|
122
|
-
|
123
|
-
if options.delete :nobar
|
124
|
-
ENV["RBBT_NO_PROGRESS"] = "true"
|
125
|
-
end
|
126
|
-
|
127
|
-
if options[:command_dir]
|
128
|
-
$rbbt_command_dir = Path.setup(options[:command_dir].dup)
|
129
|
-
else
|
130
|
-
$rbbt_command_dir = Rbbt.share.rbbt_commands
|
131
|
-
end
|
102
|
+
$scout_command_dir = Scout.bin.scout
|
103
|
+
$scout_command_dir.path_maps[:rbbt_bin] = File.join(File.dirname(__dir__), "{PATH/bin\\/scout/bin\\/rbbt}")
|
104
|
+
$scout_command_dir.path_maps[:rbbt_commands] = File.join(File.dirname(__dir__), "{PATH/bin\\/scout/share\\/rbbt_commands}")
|
105
|
+
$scout_command_dir.path_maps[:scout_commands] = File.join(Scout.root.find(:scout_gear), "{PATH/bin\\/scout/scout_commands}")
|
132
106
|
|
133
107
|
SOPT.description =<<EOF
|
134
|
-
This command controls many aspects of the
|
108
|
+
This command controls many aspects of the Scout framework, from configuration tasks to running applications.
|
135
109
|
|
136
|
-
Commands are implemented in separate files under the
|
137
|
-
Known locations are: #{([$
|
138
|
-
You can place your own commads at #{$
|
110
|
+
Commands are implemented in separate files under the Scout path '#{$scout_command_dir}'.
|
111
|
+
Known locations are: #{([$scout_command_dir] + $scout_command_dir.find_all) * ", " }.
|
112
|
+
You can place your own commads at #{$scout_command_dir.find(:user)}.
|
139
113
|
EOF
|
140
114
|
|
141
115
|
if options[:profile]
|
@@ -145,25 +119,24 @@ end
|
|
145
119
|
|
146
120
|
|
147
121
|
def prev_dir(prev)
|
148
|
-
|
122
|
+
scout_command_dir = $scout_command_dir
|
149
123
|
|
150
124
|
prev.each do |previous_command|
|
151
|
-
|
125
|
+
scout_command_dir = scout_command_dir[previous_command]
|
152
126
|
end
|
153
127
|
|
154
|
-
|
128
|
+
scout_command_dir
|
155
129
|
end
|
156
130
|
|
157
131
|
def commands(prev)
|
158
|
-
|
132
|
+
scout_command_dir = prev_dir(prev)
|
159
133
|
|
160
|
-
command_file_dirs =
|
134
|
+
command_file_dirs = scout_command_dir.find_all
|
161
135
|
command_files = command_file_dirs.collect{|d| d.glob('*') }.flatten
|
162
136
|
command_files.collect{|p| File.basename(p) }.uniq.reject{|p| p =~ /\.desc$/}.sort
|
163
137
|
end
|
164
138
|
|
165
|
-
def
|
166
|
-
puts
|
139
|
+
def scout_usage(prev = nil)
|
167
140
|
puts SOPT.doc
|
168
141
|
|
169
142
|
if prev
|
@@ -190,7 +163,7 @@ def rbbt_usage(prev = nil)
|
|
190
163
|
true
|
191
164
|
end
|
192
165
|
|
193
|
-
alias usage
|
166
|
+
alias usage scout_usage
|
194
167
|
|
195
168
|
def print_error(error, backtrace = nil)
|
196
169
|
puts Log.color :magenta, "## ERROR"
|
@@ -209,13 +182,21 @@ def aliases
|
|
209
182
|
@aliases ||= Rbbt.etc.cmd_alias.exists? ? Rbbt.etc.cmd_alias.yaml : {}
|
210
183
|
end
|
211
184
|
|
185
|
+
def tokenize_cmd_params(str)
|
186
|
+
return str if Array === str
|
187
|
+
str.scan(/
|
188
|
+
(?:["']([^"']*?)["']) |
|
189
|
+
([^"'\s]+)
|
190
|
+
/x).flatten.compact
|
191
|
+
end
|
192
|
+
|
212
193
|
def cmd_alias
|
213
|
-
while aliases.include?
|
214
|
-
ARGV.replace
|
194
|
+
while ARGV[0] && aliases.include?(ARGV[0])
|
195
|
+
ARGV.replace tokenize_cmd_params(aliases[ARGV[0]]) + ARGV[1..-1]
|
215
196
|
end
|
216
197
|
end
|
217
198
|
|
218
|
-
dir = $
|
199
|
+
dir = $scout_command_dir
|
219
200
|
$previous_commands = []
|
220
201
|
|
221
202
|
cmd_alias
|
@@ -244,31 +225,27 @@ begin
|
|
244
225
|
exit exit_status
|
245
226
|
else
|
246
227
|
error = "Command '#{$command }' not understood"
|
247
|
-
|
228
|
+
scout_usage($previous_commands)
|
248
229
|
print_error(error)
|
249
230
|
exit_status = -1
|
250
231
|
exit exit_status
|
251
232
|
end
|
252
233
|
end
|
253
234
|
|
254
|
-
|
235
|
+
scout_usage($previous_commands)
|
255
236
|
exit_status = 0
|
256
|
-
exit exit_status
|
257
237
|
|
258
238
|
rescue ParameterException
|
259
239
|
puts
|
260
|
-
|
240
|
+
scout_usage
|
261
241
|
print_error($!.message, $!.backtrace)
|
262
242
|
puts
|
263
243
|
exit_status = -1
|
264
|
-
exit exit_status
|
265
244
|
rescue SystemExit,CmdStop
|
266
245
|
exit_status = $!.status
|
267
|
-
exit exit_status
|
268
246
|
rescue Exception
|
269
247
|
Log.exception $!
|
270
248
|
exit_status = -1
|
271
|
-
exit exit_status
|
272
249
|
ensure
|
273
250
|
if options[:profile]
|
274
251
|
result = RubyProf.stop
|
data/bin/rbbt_exec.rb
CHANGED
@@ -30,7 +30,7 @@ data = data * "\n" if Array === data
|
|
30
30
|
|
31
31
|
case
|
32
32
|
when (output.nil? or output == '-')
|
33
|
-
|
33
|
+
STDOUT.write data
|
34
34
|
when output == "file"
|
35
35
|
if Misc.filename? data
|
36
36
|
tmpfile = data
|
@@ -39,7 +39,7 @@ when output == "file"
|
|
39
39
|
Open.write(tmpfile, data.to_s)
|
40
40
|
end
|
41
41
|
|
42
|
-
puts tmpfile
|
42
|
+
STDOUT.puts tmpfile
|
43
43
|
else
|
44
44
|
Open.write(output, data.to_s)
|
45
45
|
end
|
data/etc/app.d/base.rb
CHANGED
@@ -22,8 +22,8 @@ use Rack::Session::Cookie, :key => 'rack.session',
|
|
22
22
|
:secret => Misc.digest("#{self.to_s} secret!!") * 4
|
23
23
|
|
24
24
|
#{{{ DIRECTORIES
|
25
|
-
global_var = Rbbt.var.
|
26
|
-
local_var = Rbbt.var.
|
25
|
+
global_var = Rbbt.var.rbbt6_sinatra
|
26
|
+
local_var = Rbbt.var.rbbt6_sinatra.app[$app_name]
|
27
27
|
|
28
28
|
set :cache_dir , local_var.cache
|
29
29
|
set :persist_dir , local_var.cache.persistence
|
data/etc/app.d/semaphores.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
# This is used by rbbt-rest when issuing a new job
|
2
2
|
|
3
3
|
$rest_cache_semaphore = ENV["RBBT_REST_CACHE_SEMAPHORE"] || "/REST_SEMAPHORE"
|
4
|
-
parallel_rest_jobs = Rbbt::Config.get('parallel_rest_jobs', :parallel_rest_jobs, :rest_jobs, :default =>
|
4
|
+
parallel_rest_jobs = Rbbt::Config.get('parallel_rest_jobs', :parallel_rest_jobs, :rest_jobs, :default => 10)
|
5
5
|
|
6
6
|
parallel_rest_jobs = parallel_rest_jobs.to_i if String === parallel_rest_jobs
|
7
7
|
|
8
8
|
begin
|
9
|
-
|
9
|
+
ScoutSemaphore.delete_semaphore($rest_cache_semaphore)
|
10
10
|
ensure
|
11
|
-
|
11
|
+
ScoutSemaphore.create_semaphore($rest_cache_semaphore, parallel_rest_jobs)
|
12
12
|
end
|
13
13
|
Log.debug("Created semaphore: #{$rest_cache_semaphore} with #{parallel_rest_jobs} size")
|