Module: Eye::Process::Commands
- Included in:
- ChildProcess, Eye::Process
- Defined in:
- lib/eye/process/commands.rb
Instance Method Summary collapse
Instance Method Details
#restart_process ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/eye/process/commands.rb', line 67 def restart_process debug { 'restart_process command' } switch :restarting if self[:restart_command] return unless check_identity if execute_restart_command sleep_grace(:restart_grace) end result = process_really_running? || (load_external_pid_file == :ok) switch(result ? :restarted : :crashed) else stop_process start_process end true rescue StateMachines::InvalidTransition, Eye::Process::StateError => e warn "wrong switch '#{e.}'" nil end |
#start_process ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/eye/process/commands.rb', line 3 def start_process debug { 'start_process command' } switch :starting unless self[:start_command] warn 'no :start_command found, unmonitoring' switch :unmonitoring, reason: 'no_start_command' return :no_start_command end result = self[:daemonize] ? daemonize_process : execute_process if !result[:error] debug { "process <#{self.pid}> started successfully" } switch :started else error "process <#{self.pid}> failed to start (#{result[:error].inspect})" if process_really_running? warn "killing <#{self.pid}> due to error" send_signal(:KILL) sleep 0.2 # little grace end switch :crashed end result rescue StateMachines::InvalidTransition, Eye::Process::StateError => e warn "wrong switch '#{e.}'" :state_error end |
#stop_process ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/eye/process/commands.rb', line 39 def stop_process debug { 'stop_process command' } switch :stopping return unless check_identity kill_process if process_really_running? warn "process <#{self.pid}> was not stopped; try checking your command/signals or tuning the stop_timeout/stop_grace values" switch :unmonitoring, reason: 'not stopped (soft command)' nil else switch :stopped clear_pid_file if self[:clear_pid] # by default for all true end rescue StateMachines::InvalidTransition, Eye::Process::StateError => e warn "wrong switch '#{e.}'" nil end |