Class: Naf::MachineRunner

Inherits:
NafBase
  • Object
show all
Defined in:
app/models/naf/machine_runner.rb

Class Method Summary collapse

Methods inherited from NafBase

full_table_name_prefix

Class Method Details

.deadObject



45
46
47
48
# File 'app/models/naf/machine_runner.rb', line 45

def self.dead
  (::Naf::MachineRunner.joins(:machine).where("#{::Naf.schema_name}.machines.enabled IS TRUE").pluck(:machine_id) -
    ::Naf::MachineRunner.running.pluck(:machine_id)).uniq
end

.enabledObject


*** Class Methods *** ++++++++++++++++++++++



28
29
30
31
# File 'app/models/naf/machine_runner.rb', line 28

def self.enabled
  joins(:machine).
  where("#{::Naf.schema_name}.machines.enabled IS TRUE")
end

.runningObject



33
34
35
36
37
# File 'app/models/naf/machine_runner.rb', line 33

def self.running
  joins(:machine_runner_invocations).
  where("#{::Naf.schema_name}.machine_runner_invocations.dead_at IS NULL AND
    #{::Naf.schema_name}.machine_runner_invocations.wind_down_at IS NULL")
end

.winding_downObject



39
40
41
42
43
# File 'app/models/naf/machine_runner.rb', line 39

def self.winding_down
  joins(:machine_runner_invocations).
  where("#{::Naf.schema_name}.machine_runner_invocations.dead_at IS NULL AND
    #{::Naf.schema_name}.machine_runner_invocations.wind_down_at IS NOT NULL")
end