Class: Sv::Job
- Inherits:
-
Object
- Object
- Sv::Job
- Defined in:
- lib/sv/job.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#namespace ⇒ Object
writeonly
Sets the attribute namespace.
- #working_dir(*args) ⇒ Object
Instance Method Summary collapse
- #autorestart(*args) ⇒ Object
- #command(*args) ⇒ Object
- #env(*args) ⇒ Object
- #group ⇒ Object
-
#initialize(name) ⇒ Job
constructor
A new instance of Job.
- #killasgroup(*args) ⇒ Object
- #numprocs(*args) ⇒ Object
- #processes ⇒ Object
- #render ⇒ Object
- #startretries(*args) ⇒ Object
- #startsecs(*args) ⇒ Object
- #stderr_logfile(*args) ⇒ Object
- #stdout_logfile(*args) ⇒ Object
- #stopasgroup(*args) ⇒ Object
- #stopsignal(*args) ⇒ Object
- #stopwait_on_rr(*args) ⇒ Object
- #stopwaitsecs(*args) ⇒ Object
- #update(attrs) ⇒ Object
Constructor Details
#initialize(name) ⇒ Job
Returns a new instance of Job.
8 9 10 |
# File 'lib/sv/job.rb', line 8 def initialize(name) set :name, name end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
5 6 7 |
# File 'lib/sv/job.rb', line 5 def name @name end |
#namespace=(value) ⇒ Object (writeonly)
Sets the attribute namespace
6 7 8 |
# File 'lib/sv/job.rb', line 6 def namespace=(value) @namespace = value end |
#working_dir(*args) ⇒ Object
24 25 26 |
# File 'lib/sv/job.rb', line 24 def working_dir(*args) set_or_get :working_dir, args end |
Instance Method Details
#autorestart(*args) ⇒ Object
38 39 40 |
# File 'lib/sv/job.rb', line 38 def autorestart(*args) set_or_get :autorestart, args end |
#command(*args) ⇒ Object
20 21 22 |
# File 'lib/sv/job.rb', line 20 def command(*args) set_or_get :command, args end |
#env(*args) ⇒ Object
28 29 30 |
# File 'lib/sv/job.rb', line 28 def env(*args) set_or_get :env, args end |
#group ⇒ Object
16 17 18 |
# File 'lib/sv/job.rb', line 16 def group @namespace ? "#{name}.#{@namespace}" : name end |
#killasgroup(*args) ⇒ Object
66 67 68 |
# File 'lib/sv/job.rb', line 66 def killasgroup(*args) set_or_get :killasgroup, args end |
#numprocs(*args) ⇒ Object
32 33 34 35 36 |
# File 'lib/sv/job.rb', line 32 def numprocs(*args) set_or_get :numprocs, args do |v| v.to_i end end |
#processes ⇒ Object
93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/sv/job.rb', line 93 def processes processes = [] s = Struct.new(:name, :group, :stopwait_on_rr) numprocs.times do |i| process = s.new process.name = "#{name}_#{i.to_s.rjust(2,"0")}" process.group = group process.stopwait_on_rr = stopwait_on_rr processes << process end processes end |
#render ⇒ Object
84 85 86 87 88 89 90 91 |
# File 'lib/sv/job.rb', line 84 def render return if attributes.values.any? { |v| v.nil? } return if attributes[:numprocs] < 1 File.open(template) do |f| erb = ERB.new(f.read, nil, '<>') erb.result(binding) end end |
#startretries(*args) ⇒ Object
46 47 48 |
# File 'lib/sv/job.rb', line 46 def startretries(*args) set_or_get :startretries, args end |
#startsecs(*args) ⇒ Object
42 43 44 |
# File 'lib/sv/job.rb', line 42 def startsecs(*args) set_or_get :startsecs, args end |
#stderr_logfile(*args) ⇒ Object
74 75 76 |
# File 'lib/sv/job.rb', line 74 def stderr_logfile(*args) set_or_get :stderr_logfile, args end |
#stdout_logfile(*args) ⇒ Object
70 71 72 |
# File 'lib/sv/job.rb', line 70 def stdout_logfile(*args) set_or_get :stdout_logfile, args end |
#stopasgroup(*args) ⇒ Object
62 63 64 |
# File 'lib/sv/job.rb', line 62 def stopasgroup(*args) set_or_get :stopasgroup, args end |
#stopsignal(*args) ⇒ Object
50 51 52 |
# File 'lib/sv/job.rb', line 50 def stopsignal(*args) set_or_get :stopsignal, args end |
#stopwait_on_rr(*args) ⇒ Object
54 55 56 |
# File 'lib/sv/job.rb', line 54 def stopwait_on_rr(*args) set_or_get :stopwait_on_rr, args end |
#stopwaitsecs(*args) ⇒ Object
58 59 60 |
# File 'lib/sv/job.rb', line 58 def stopwaitsecs(*args) set_or_get :stopwaitsecs, args end |
#update(attrs) ⇒ Object
78 79 80 81 82 |
# File 'lib/sv/job.rb', line 78 def update(attrs) attrs.each do |key ,value| set key, value end end |