Class: Delayed::Master
- Inherits:
-
Object
show all
- Defined in:
- lib/delayed/master.rb,
lib/delayed/master/config.rb,
lib/delayed/master/forker.rb,
lib/delayed/master/worker.rb,
lib/delayed/master/command.rb,
lib/delayed/master/version.rb,
lib/delayed/master/signaler.rb,
lib/delayed/master/monitoring.rb,
lib/delayed/master/job_checker.rb,
lib/delayed/master/job_counter.rb,
lib/delayed/master/util/file_reopener.rb,
lib/delayed/master/plugins/memory_checker.rb,
lib/delayed/master/plugins/signal_handler.rb,
lib/delayed/master/plugins/status_notifier.rb
Defined Under Namespace
Modules: Plugins
Classes: Command, Config, Forker, JobChecker, JobCounter, Monitoring, Signaler, Util, Worker
Constant Summary
collapse
- VERSION =
"2.0.2"
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(argv) ⇒ Master
Returns a new instance of Master.
14
15
16
17
18
19
20
21
|
# File 'lib/delayed/master.rb', line 14
def initialize(argv)
@config = Command.new(argv).config
@logger = setup_logger(@config.log_file, @config.log_level)
@workers = []
@signaler = Signaler.new(self)
@monitoring = Monitoring.new(self)
end
|
Instance Attribute Details
#config ⇒ Object
Returns the value of attribute config.
12
13
14
|
# File 'lib/delayed/master.rb', line 12
def config
@config
end
|
#logger ⇒ Object
Returns the value of attribute logger.
12
13
14
|
# File 'lib/delayed/master.rb', line 12
def logger
@logger
end
|
#workers ⇒ Object
Returns the value of attribute workers.
12
13
14
|
# File 'lib/delayed/master.rb', line 12
def workers
@workers
end
|
Instance Method Details
#prepared? ⇒ Boolean
38
39
40
|
# File 'lib/delayed/master.rb', line 38
def prepared?
@prepared
end
|
#quit ⇒ Object
42
43
44
45
|
# File 'lib/delayed/master.rb', line 42
def quit
@signaler.dispatch(:KILL)
@stop = true
end
|
#reopen_files ⇒ Object
56
57
58
59
60
61
|
# File 'lib/delayed/master.rb', line 56
def reopen_files
@signaler.dispatch(:USR1)
@logger.info "reopening files..."
Util::FileReopener.reopen
@logger.info "reopened"
end
|
#restart ⇒ Object
63
64
65
66
67
|
# File 'lib/delayed/master.rb', line 63
def restart
@signaler.dispatch(:USR2)
@logger.info "restarting master..."
exec(*([$0] + ARGV))
end
|
#run ⇒ Object
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/delayed/master.rb', line 23
def run
print_config
daemonize if @config.daemon
@logger.info "started master #{Process.pid}".tap { |msg| puts msg }
handle_pid_file do
@signaler.register
@prepared = true
@monitoring.monitor_while { stop? }
end
@logger.info "shut down master"
end
|
#stop ⇒ Object
47
48
49
50
|
# File 'lib/delayed/master.rb', line 47
def stop
@signaler.dispatch(:TERM)
@stop = true
end
|
#stop? ⇒ Boolean
52
53
54
|
# File 'lib/delayed/master.rb', line 52
def stop?
@stop == true
end
|