Class: Sidejobs::Daemon

Inherits:
Object
  • Object
show all
Defined in:
lib/sidejobs/daemon.rb

Instance Method Summary collapse

Constructor Details

#initializeDaemon

Returns a new instance of Daemon.



4
5
6
# File 'lib/sidejobs/daemon.rb', line 4

def initialize
  @stopping = false
end

Instance Method Details

#pidObject



46
47
48
# File 'lib/sidejobs/daemon.rb', line 46

def pid
  File.read(pid_path).to_i rescue nil
end

#restartObject



37
38
39
40
41
42
43
44
# File 'lib/sidejobs/daemon.rb', line 37

def restart
  if running?
    stop
    start
  else
    start
  end
end

#running?Boolean

Returns:

  • (Boolean)


8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/sidejobs/daemon.rb', line 8

def running?
  if pid
    begin
      Process.kill 0, pid
      true
    rescue Errno::ESRCH
      false
    end
  else
    false
  end
end

#startObject



21
22
23
24
25
26
27
28
# File 'lib/sidejobs/daemon.rb', line 21

def start
  unless running?
    daemonize
    write_pid
    trap_signals
    process
  end
end

#stopObject



30
31
32
33
34
35
# File 'lib/sidejobs/daemon.rb', line 30

def stop
  if running?
    Process.kill :TERM, pid
    delete_pid
  end
end

#stopping?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/sidejobs/daemon.rb', line 50

def stopping?
  @stopping == true
end