Class: Refinery::Server
- Inherits:
-
Object
- Object
- Refinery::Server
- Includes:
- Configurable, Loggable, Queueable, Utilities
- Defined in:
- lib/refinery/server.rb
Overview
The server instance provides a runtime environment for daemons. To start the server create an Refinery::Server instance and invoke run.
Instance Attribute Summary collapse
-
#workers_directory ⇒ Object
The directory where workers are found.
Class Method Summary collapse
-
.logger ⇒ Object
Get a server-wide logger.
Instance Method Summary collapse
-
#daemons ⇒ Object
An array of all daemons.
-
#initialize(options = {}) ⇒ Server
constructor
Initialize the server.
-
#run ⇒ Object
Run the server.
-
#stop ⇒ Object
Stop the server.
Methods included from Utilities
#camelize, #decode_message, #encode_message, #host_info
Methods included from Queueable
Methods included from Configurable
Methods included from Loggable
Constructor Details
#initialize(options = {}) ⇒ Server
Initialize the server.
Options:
-
:config
: Provide a file path to load that config -
:debug
: Set to true to enable debug logging -
:verbose
: Set to true to enable info logging -
:workers
: The workers directory
31 32 33 34 35 36 |
# File 'lib/refinery/server.rb', line 31 def initialize(={}) logger.level = Logger::INFO if [:verbose] logger.level = Logger::DEBUG if [:debug] config.load_file([:config]) if [:config] self.workers_directory = [:workers] if [:workers] end |
Instance Attribute Details
#workers_directory ⇒ Object
The directory where workers are found. Defaults to ./workers
12 13 14 |
# File 'lib/refinery/server.rb', line 12 def workers_directory @workers_directory end |
Class Method Details
.logger ⇒ Object
Get a server-wide logger
15 16 17 18 19 20 21 22 |
# File 'lib/refinery/server.rb', line 15 def self.logger @logger ||= begin logger = Logger.new(STDOUT) logger.level = Logger::WARN logger.formatter = CustomFormatter.new logger end end |
Instance Method Details
#daemons ⇒ Object
An array of all daemons
50 51 52 |
# File 'lib/refinery/server.rb', line 50 def daemons @daemons ||= [] end |
#run ⇒ Object
Run the server
55 56 57 58 59 |
# File 'lib/refinery/server.rb', line 55 def run logger.info "Starting Refinery server" execute_processors logger.info "Server is exiting" end |
#stop ⇒ Object
Stop the server
44 45 46 47 |
# File 'lib/refinery/server.rb', line 44 def stop logger.info "Stopping Refinery Server" daemons.each { |daemon| daemon.stop } end |