Harbor::Script
Class for defining and running daemonizable scripts.
services = Harbor::Container.new
services.register("mailer", Harbor::Mailer)
class Processor < Harbor::Script
attr_accessor :mailer
def self.pid_file
"tmp/processor.pid"
end
def self.log_file
"log/processor.log"
end
def self.run!
loop do
# processing code
end
end
end
Harbor::Script::Runner.new(ARGV, services, Processor).run!
Parent
Namespace
Methods
Included Modules
- Thin::Daemonizable
Attributes
Public Class Methods
log_file()
# File lib/harbor/script.rb, line 65 65: def self.log_file 66: raise NotImplementedError.new("#{self}#log_file must be defined.") 67: end
logger()
# File lib/harbor/script.rb, line 47 47: def self.logger 48: @logger ||= begin 49: logger = Logging::Logger[self] 50: logger.additive = false 51: logger.level = :info 52: logger.add_appenders(Logging::Appenders::Stdout.new) 53: logger 54: end 55: end
Public Instance Methods
log(message)
# File lib/harbor/script.rb, line 78 78: def log(message) 79: if @options[:daemonize] 80: self.class.logger << message + "\n" 81: else 82: puts message 83: end 84: end