Sha256: 7183de03ab4c33c0a1e65ed7e535424849da0746f6db44bb12c4b51273bfe97d

Contents?: true

Size: 1.38 KB

Versions: 5

Compression:

Stored size: 1.38 KB

Contents

#!/usr/bin/env ruby
$: << File.expand_path('../lib', File.dirname(__FILE__))

require 'rubygems'
require 'active_support/core_ext'
require 'singleton'
require 'socket'
require 'listen'
require 'yaml'
require 'rainbow'
require 'rb-readline'
require 'fileutils'
require 'eventmachine'
require 'em-websocket'
require 'tinder'
require "conveyor/version"

module Conveyor
  autoload :Output,     'conveyor/output'
  autoload :Foreman,    'conveyor/foreman'
  autoload :Belt,       'conveyor/belt'
  autoload :Worker,     'conveyor/worker'
  autoload :Status,     'conveyor/status'
  autoload :Input, 		  'conveyor/input'
  autoload :Queue,      'conveyor/queue'
  autoload :Websocket,  'conveyor/websocket'

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

  def self.fm
    Foreman.instance
  end

  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
end

def watch(*args, &block)
  fm.watch(*args, &block)
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
gina-conveyor-0.2.0 lib/conveyor.rb
gina-conveyor-0.1.3 lib/conveyor.rb
gina-conveyor-0.1.2 lib/conveyor.rb
gina-conveyor-0.1.1 lib/conveyor.rb
gina-conveyor-0.1.0 lib/conveyor.rb