Sha256: 012c3f25fc6d8bb047c758132eda18205516c7c9a4037eb356cf9d19a75a40c3
Contents?: true
Size: 1.19 KB
Versions: 1
Compression:
Stored size: 1.19 KB
Contents
require 'celluloid' class Eye::ChildProcess include Celluloid # needs: kill_process include Eye::Process::Commands # easy config + defaults: prepare_config, c, [] include Eye::Process::Config # conditional watchers: start_checkers include Eye::Process::Watchers # system methods: send_signal include Eye::Process::System # logger methods: info, ... include Eye::Logger::Helpers # self_status_data include Eye::Process::Data # manage notify methods include Eye::Process::Notify # scheduler include Eye::Process::Scheduler attr_reader :pid, :name, :config, :watchers def initialize(pid, config = {}, logger_prefix = nil) raise 'Empty pid' unless pid @pid = pid @config = prepare_config(config) @name = '=child=' @logger = Eye::Logger.new("#{logger_prefix} child:#{pid}") @watchers = {} debug "start monitoring CHILD config: #{@config.inspect}" start_checkers end def state :up end def stop kill_process end def restart stop end def monitor end def unmonitor end def delete remove_watchers terminate end def status_data(debug = false) self_status_data(debug) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
eye-0.1.11 | lib/eye/child_process.rb |