Class: Falcon::Service

Inherits:
Object
  • Object
show all
Defined in:
lib/falcon/service.rb

Direct Known Subclasses

Host

Instance Method Summary collapse

Constructor Details

#initialize(environment) ⇒ Service



32
33
34
35
# File 'lib/falcon/service.rb', line 32

def initialize(environment)
  @environment = environment
  @evaluator = @environment.evaluator
end

Instance Method Details

#nameObject



37
38
39
# File 'lib/falcon/service.rb', line 37

def name
  @evaluator.name
end

#run(container) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
# File 'lib/falcon/service.rb', line 41

def run(container)
  container.run(name: self.name, count: 1, restart: true) do |task, instance|
    Async.logger.info(self) {"Starting #{self.name}..."}
    
    if service = @evaluator.service
      service.run
    else
      Async.logger.error(self) {"Could not determine how to start service: #{@environment.inspect}"}
    end
  end
end