Module: MiGA::Daemon::Base

Included in:
MiGA::Daemon
Defined in:
lib/miga/daemon/base.rb

Instance Method Summary collapse

Instance Method Details

#latencyObject

Returns Integer indicating the number of seconds to sleep between checks



39
# File 'lib/miga/daemon/base.rb', line 39

def latency() runopts(:latency); end

#maxjobsObject

Returns Integer indicating the maximum number of concurrent jobs to run



43
# File 'lib/miga/daemon/base.rb', line 43

def maxjobs() runopts(:maxjobs); end

#nodelistObject

Returns the path to the list of execution hostnames



47
# File 'lib/miga/daemon/base.rb', line 47

def nodelist() runopts(:nodelist); end

#ppnObject

Returns Integer indicating the number of CPUs per job



51
# File 'lib/miga/daemon/base.rb', line 51

def ppn() runopts(:ppn); end

#restart(opts = []) ⇒ Object

Restarts the daemon with opts



68
# File 'lib/miga/daemon/base.rb', line 68

def restart(opts = []) daemon('restart', opts); 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.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 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?Boolean

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

Returns:

  • (Boolean)


56
# File 'lib/miga/daemon/base.rb', line 56

def shutdown_when_done?() !!runopts(:shutdown_when_done); end

#start(opts = []) ⇒ Object

Initializes the daemon with opts



60
# File 'lib/miga/daemon/base.rb', line 60

def start(opts = []) daemon('start', opts); end

#status(opts = []) ⇒ Object

Returns the status of the daemon with opts.



72
# File 'lib/miga/daemon/base.rb', line 72

def status(opts = []) daemon('status', opts); end

#stop(opts = []) ⇒ Object

Stops the daemon with opts



64
# File 'lib/miga/daemon/base.rb', line 64

def stop(opts = []) daemon('stop', opts); end