Sha256: 9284ede35589b354e86e4a8cfd44d42b30568c90a4dde907c1f14f0ce59a8b65

Contents?: true

Size: 1021 Bytes

Versions: 8

Compression:

Stored size: 1021 Bytes

Contents

require 'sneakers'
require 'sneakers/runner'

task :environment

namespace :sneakers do
  desc "Start work (set $WORKERS=Klass1,Klass2)"
  task :run do
    Sneakers.server = true
    Rake::Task['environment'].invoke

    if defined?(::Rails)
      ::Rails.application.eager_load!
    end

    if ENV["WORKERS"].nil?
      workers = Sneakers::Worker::Classes
    else
      workers, missing_workers = Sneakers::Utils.parse_workers(ENV['WORKERS'])
    end

    unless missing_workers.nil? || missing_workers.empty?
      puts "Missing workers: #{missing_workers.join(', ')}" if missing_workers
      puts "Did you `require` properly?"
      exit(1)
    end

    if workers.empty?
      puts <<EOF
Error: No workers found.
Please set the classes of the workers you want to run like so:

  $ export WORKERS=MyWorker,FooWorker
  $ rake sneakers:run

EOF
      exit(1)
    end
    opts = (!ENV['WORKER_COUNT'].nil? ? {:workers => ENV['WORKER_COUNT'].to_i} : {})
    r = Sneakers::Runner.new(workers, opts)

    r.run
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
sneakers-2.12.0 lib/sneakers/tasks.rb
sneakers-2.12.0.rc1 lib/sneakers/tasks.rb
sneakers-2.11.0 lib/sneakers/tasks.rb
sneakers-2.7.0 lib/sneakers/tasks.rb
sneakers-2.6.0 lib/sneakers/tasks.rb
sneakers-2.5.0 lib/sneakers/tasks.rb
sneakers-2.4.0 lib/sneakers/tasks.rb
sneakers-2.3.5 lib/sneakers/tasks.rb