Module: Conveyor

Extended by:
ActiveSupport::Autoload
Defined in:
lib/conveyor.rb,
lib/conveyor/belt.rb,
lib/conveyor/input.rb,
lib/conveyor/queue.rb,
lib/conveyor/output.rb,
lib/conveyor/status.rb,
lib/conveyor/worker.rb,
lib/conveyor/foreman.rb,
lib/conveyor/version.rb,
lib/conveyor/job_state.rb,
lib/conveyor/websocket.rb,
lib/conveyor/output/email.rb,
lib/conveyor/input/console.rb,
lib/conveyor/input/commands.rb,
lib/conveyor/output/channel.rb,
lib/conveyor/output/console.rb,
lib/conveyor/output/logfile.rb,
lib/conveyor/workers/syntax.rb

Defined Under Namespace

Modules: Input, Output, Workers Classes: Belt, Foreman, Queue, Status, Websocket, Worker

Constant Summary collapse

VERSION =
"0.2.4"

Class Method Summary collapse

Class Method Details

.fmObject



38
39
40
# File 'lib/conveyor.rb', line 38

def self.fm
  Foreman.instance
end

.startObject



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/conveyor.rb', line 42

def self.start
  EventMachine.run do
    trap("TERM") { stop }
    trap("INT") { stop }

    EventMachine.threadpool_size = fm.config[:threadpool] || 20

    fm.info "Starting Conveyor v#{Conveyor::VERSION}"
    fm.start
    fm.info "Waiting for files", :color => :green
    fm.info "Press CTRL-C to stop"
    Conveyor::Websocket.start

    EventMachine::PeriodicTimer.new(1) do
      fm.output_status
    end

    EventMachine::PeriodicTimer.new(1) do
      fm.check
    end
  end
end

.stopObject



32
33
34
35
36
# File 'lib/conveyor.rb', line 32

def self.stop
  Foreman.instance.stop!
  EventMachine.stop
  exit
end