blob: 0f16dac12713ecefd9a1df71ff3c9d5c13b4636f (
plain)
1
2
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
|
module Killjoy
module Worker
def initialize
@mutex = ServerEngine::BlockingFlag.new
@message_bus = Killjoy::MessageBus.new(config)
end
def run
after_fork
writers = Spank::IOC.resolve_all(:writer)
config[:queue_shards].times do |shard|
@message_bus.subscribe(Killjoy::Consumer.new(writers, shard))
end
@mutex.wait
#until @mutex.wait_for_set(config[:heartbeat])
#Killjoy.logger.debug("Heartbeat: [#{Thread.current.object_id}]")
#end
end
def stop
@message_bus.stop
@mutex.set!
end
private
def after_fork
Killjoy::AfterFork.new.call
end
end
end
|