Module: MiGA::Daemon::Base
- Included in:
- MiGA::Daemon
- Defined in:
- lib/miga/daemon/base.rb
Instance Method Summary collapse
-
#latency ⇒ Object
Returns Integer indicating the number of seconds to sleep between checks.
-
#maxjobs ⇒ Object
Returns Integer indicating the maximum number of concurrent jobs to run.
-
#nodelist ⇒ Object
Returns the path to the list of execution hostnames.
-
#ppn ⇒ Object
Returns Integer indicating the number of CPUs per job.
-
#runopts(k, v = nil, force = false) ⇒ Object
Set/get #options, where
kis the Symbol of the option andvis the value (or nil to use as getter). -
#shutdown_when_done? ⇒ Boolean
Returns Boolean indicating if the daemon should shutdown when processing is complete.
Instance Method Details
#latency ⇒ Object
Returns Integer indicating the number of seconds to sleep between checks
37 |
# File 'lib/miga/daemon/base.rb', line 37 def latency() runopts(:latency); end |
#maxjobs ⇒ Object
Returns Integer indicating the maximum number of concurrent jobs to run
41 |
# File 'lib/miga/daemon/base.rb', line 41 def maxjobs() runopts(:maxjobs); end |
#nodelist ⇒ Object
Returns the path to the list of execution hostnames
45 |
# File 'lib/miga/daemon/base.rb', line 45 def nodelist() runopts(:nodelist); end |
#ppn ⇒ Object
Returns Integer indicating the number of CPUs per job
49 |
# File 'lib/miga/daemon/base.rb', line 49 def ppn() runopts(:ppn); end |
#runopts(k, v = nil, force = false) ⇒ Object
Set/get #options, where k is the Symbol of the option and v is the value (or nil to use as getter). Skips consistency tests if force. Returns new value.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/miga/daemon/base.rb', line 13 def runopts(k, v = nil, force = false) k = k.to_sym unless v.nil? case k when :latency, :maxjobs, :ppn, :format_version v = v.to_i when :shutdown_when_done v = !!v when :nodelist if v =~ /^\$/ vv = ENV[v.sub('$','')] or raise "Unset environment variable: #{v}" v = vv end say "Reading node list: #{v}" v = File.readlines(v).map(&:chomp) end raise "Daemon's #{k} cannot be set to zero." if !force and v == 0 @runopts[k] = v end @runopts[k] end |
#shutdown_when_done? ⇒ Boolean
Returns Boolean indicating if the daemon should shutdown when processing is complete
54 |
# File 'lib/miga/daemon/base.rb', line 54 def shutdown_when_done?() !!runopts(:shutdown_when_done); end |