tootsie 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +2 -2
- data/bin/tootsie_task_manager +21 -18
- data/lib/tootsie/application.rb +3 -9
- data/lib/tootsie/version.rb +1 -1
- data/lib/tootsie.rb +4 -0
- metadata +3 -3
    
        data/README.md
    CHANGED
    
    | @@ -210,14 +210,14 @@ Installation | |
| 210 210 | 
             
            Running
         | 
| 211 211 | 
             
            =======
         | 
| 212 212 |  | 
| 213 | 
            -
            Create a configuration  | 
| 213 | 
            +
            Create a configuration, eg. `tootsie.conf`:
         | 
| 214 214 |  | 
| 215 215 | 
             
                --- 
         | 
| 216 216 | 
             
                  aws_access_key_id: <your Amazon key>
         | 
| 217 217 | 
             
                  aws_secret_access_key: <your Amazon secret>
         | 
| 218 218 | 
             
                  sqs_queue_name: tootsie
         | 
| 219 219 |  | 
| 220 | 
            -
            Start the task manager with ` | 
| 220 | 
            +
            Start the task manager with `tootsie_task_manager -c tootsie.conf start`.
         | 
| 221 221 |  | 
| 222 222 | 
             
            To run the web service, you will need a Rack-compatible web server, such as Unicorn or Thin. To start with Thin on port 9090:
         | 
| 223 223 |  | 
    
        data/bin/tootsie_task_manager
    CHANGED
    
    | @@ -3,31 +3,24 @@ | |
| 3 3 | 
             
            $:.unshift(File.expand_path('../../lib', __FILE__))
         | 
| 4 4 | 
             
            require 'tootsie'
         | 
| 5 5 |  | 
| 6 | 
            -
            environment = ENV['RACK_ENV']
         | 
| 7 | 
            -
            environment ||= :development
         | 
| 8 | 
            -
             | 
| 9 6 | 
             
            num_workers = 4
         | 
| 10 | 
            -
             | 
| 7 | 
            +
            config_path = nil
         | 
| 8 | 
            +
            log_target = 'syslog'
         | 
| 11 9 |  | 
| 12 10 | 
             
            ARGV.options do |opts|
         | 
| 13 11 | 
             
              opts.banner = "Usage: #{File.basename($0)} [OPTIONS] [start | stop | restart | status]"
         | 
| 14 12 | 
             
              opts.separator ""
         | 
| 15 | 
            -
              opts.on("-e", "--environment=env", String, 
         | 
| 16 | 
            -
                "Environment to run in (default: #{environment})") do |value| 
         | 
| 17 | 
            -
                environment = value
         | 
| 18 | 
            -
              end
         | 
| 19 13 | 
             
              opts.on("-n", "--num-workers=WORKERS", Integer,
         | 
| 20 14 | 
             
                "Specify number of workers to fork (defaults to #{num_workers}.") do |value|
         | 
| 21 15 | 
             
                num_workers = [1, value.to_i].max
         | 
| 22 16 | 
             
              end
         | 
| 17 | 
            +
              opts.on("-c", "--config=PATH", String,
         | 
| 18 | 
            +
                "Specify configuration path.") do |value|
         | 
| 19 | 
            +
                config_path = value
         | 
| 20 | 
            +
              end
         | 
| 23 21 | 
             
              opts.on("-l TARGET", "--logger TARGET", String,
         | 
| 24 22 | 
             
                "Log to TARGET, which is either a file name or 'syslog'.") do |value|
         | 
| 25 | 
            -
                 | 
| 26 | 
            -
                  require 'syslog_logger'
         | 
| 27 | 
            -
                  logger = SyslogLogger.new('tootsie')
         | 
| 28 | 
            -
                else
         | 
| 29 | 
            -
                  logger = Logger.new(value)
         | 
| 30 | 
            -
                end
         | 
| 23 | 
            +
                log_target = value
         | 
| 31 24 | 
             
              end
         | 
| 32 25 | 
             
              opts.on("-h", "--help", "Show this help message.") do
         | 
| 33 26 | 
             
                puts opts
         | 
| @@ -40,6 +33,18 @@ ARGV.options do |opts| | |
| 40 33 | 
             
              end
         | 
| 41 34 | 
             
            end
         | 
| 42 35 |  | 
| 36 | 
            +
            unless config_path
         | 
| 37 | 
            +
              abort 'Configuration file not specified.'
         | 
| 38 | 
            +
            end
         | 
| 39 | 
            +
            config_path = File.expand_path(config_path)
         | 
| 40 | 
            +
             | 
| 41 | 
            +
            case log_target
         | 
| 42 | 
            +
              when 'syslog'
         | 
| 43 | 
            +
                logger = SyslogLogger.new('tootsie')
         | 
| 44 | 
            +
              else
         | 
| 45 | 
            +
                logger = Logger.new(log_target)
         | 
| 46 | 
            +
            end
         | 
| 47 | 
            +
             | 
| 43 48 | 
             
            controller = Tootsie::Daemon.new(
         | 
| 44 49 | 
             
              :root => File.join(File.dirname(__FILE__), "/.."),
         | 
| 45 50 | 
             
              :pid_file => File.join(File.dirname(__FILE__), "/../tmp/task_manager.pid"),
         | 
| @@ -54,10 +59,8 @@ controller.on_spawn do | |
| 54 59 | 
             
                Signal.trap('TERM') do
         | 
| 55 60 | 
             
                  exit(2)
         | 
| 56 61 | 
             
                end
         | 
| 57 | 
            -
                app = Tootsie::Application.new(
         | 
| 58 | 
            -
             | 
| 59 | 
            -
                  :logger => controller.logger)
         | 
| 60 | 
            -
                app.configure!
         | 
| 62 | 
            +
                app = Tootsie::Application.new(:logger => controller.logger)
         | 
| 63 | 
            +
                app.configure!(config_path)
         | 
| 61 64 | 
             
                begin
         | 
| 62 65 | 
             
                  app.task_manager.run!
         | 
| 63 66 | 
             
                rescue SystemExit, Interrupt
         | 
    
        data/lib/tootsie/application.rb
    CHANGED
    
    | @@ -1,19 +1,15 @@ | |
| 1 | 
            -
            require 's3'
         | 
| 2 | 
            -
            require 'sqs'
         | 
| 3 | 
            -
             | 
| 4 1 | 
             
            module Tootsie
         | 
| 5 2 |  | 
| 6 3 | 
             
              class Application
         | 
| 7 4 |  | 
| 8 5 | 
             
                def initialize(options = {})
         | 
| 9 6 | 
             
                  @@instance = self
         | 
| 10 | 
            -
                  @environment = options[:environment] || :development
         | 
| 11 7 | 
             
                  @logger = options[:logger] || Logger.new($stderr)
         | 
| 12 8 | 
             
                  @configuration = Configuration.new
         | 
| 13 9 | 
             
                end
         | 
| 14 10 |  | 
| 15 | 
            -
                def configure!
         | 
| 16 | 
            -
                  @configuration.load_from_file( | 
| 11 | 
            +
                def configure!(config_path)
         | 
| 12 | 
            +
                  @configuration.load_from_file(config_path)
         | 
| 17 13 | 
             
                  @queue = Tootsie::SqsQueue.new(@configuration.sqs_queue_name, sqs_service)
         | 
| 18 14 | 
             
                  @task_manager = TaskManager.new(@queue)
         | 
| 19 15 | 
             
                end
         | 
| @@ -35,9 +31,7 @@ module Tootsie | |
| 35 31 | 
             
                    @@instance
         | 
| 36 32 | 
             
                  end
         | 
| 37 33 | 
             
                end
         | 
| 38 | 
            -
             | 
| 39 | 
            -
                attr_accessor :environment
         | 
| 40 | 
            -
                
         | 
| 34 | 
            +
                    
         | 
| 41 35 | 
             
                attr_reader :configuration
         | 
| 42 36 | 
             
                attr_reader :task_manager
         | 
| 43 37 | 
             
                attr_reader :queue
         | 
    
        data/lib/tootsie/version.rb
    CHANGED
    
    
    
        data/lib/tootsie.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: tootsie
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 63
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 8 | 
             
              - 9
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0.9. | 
| 9 | 
            +
              - 2
         | 
| 10 | 
            +
              version: 0.9.2
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - Alexander Staubo
         |