Class: Arsenicum::Main

Inherits:
Object
  • Object
show all
Defined in:
lib/arsenicum/main.rb

Direct Known Subclasses

RailsMain

Defined Under Namespace

Classes: RailsMain

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#queuesObject (readonly)

Returns the value of attribute queues.



3
4
5
# File 'lib/arsenicum/main.rb', line 3

def queues
  @queues
end

Instance Method Details

#run(config) ⇒ Object



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
# File 'lib/arsenicum/main.rb', line 5

def run(config)
  $0 = 'arsenicum[main]'

  if config.daemon
    Process.daemon  true, true

    File.open(config.pidfile_path, 'w:UTF-8') do |f|
      f.puts $$
    end
  end

  Dir.chdir     config.working_directory

  configure_io  config
  configure_log config

  before_boot(config)

  @queues = config.queue_configurations.map{|qc|qc.build}
  threads = @queues.map(&:start_async)
  begin
    sleep 10
    trap_signal

    threads.each(&:join)
  rescue Interrupt
  end
end