module MiGA::Daemon::Base

Public Instance Methods

latency() click to toggle source

Returns Integer indicating the number of seconds to sleep between checks

# File lib/miga/daemon/base.rb, line 39
def latency() runopts(:latency); end
maxjobs() click to toggle source

Returns Integer indicating the maximum number of concurrent jobs to run

# File lib/miga/daemon/base.rb, line 43
def maxjobs() runopts(:maxjobs); end
nodelist() click to toggle source

Returns the path to the list of execution hostnames

# File lib/miga/daemon/base.rb, line 47
def nodelist() runopts(:nodelist); end
ppn() click to toggle source

Returns Integer indicating the number of CPUs per job

# File lib/miga/daemon/base.rb, line 51
def ppn() runopts(:ppn); end
restart(opts = []) click to toggle source

Restarts the daemon with opts

# File lib/miga/daemon/base.rb, line 68
def restart(opts = []) daemon('restart', opts); end
runopts(k, v = nil, force = false) click to toggle source

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.

# File lib/miga/daemon/base.rb, line 15
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?() click to toggle source

Returns Boolean indicating if the daemon should shutdown when processing is complete

# File lib/miga/daemon/base.rb, line 56
def shutdown_when_done?() !!runopts(:shutdown_when_done); end
start(opts = []) click to toggle source

Initializes the daemon with opts

# File lib/miga/daemon/base.rb, line 60
def start(opts = []) daemon('start', opts); end
status(opts = []) click to toggle source

Returns the status of the daemon with opts.

# File lib/miga/daemon/base.rb, line 72
def status(opts = []) daemon('status', opts); end
stop(opts = []) click to toggle source

Stops the daemon with opts

# File lib/miga/daemon/base.rb, line 64
def stop(opts = []) daemon('stop', opts); end