class Afterparty::Worker

Public Instance Methods

consume() click to toggle source
# File lib/afterparty/worker.rb, line 5
def consume
  @stopped = false
  @thread = Thread.new {
    consume_sync
  }
  @thread
end
consume_next() click to toggle source
# File lib/afterparty/worker.rb, line 13
def consume_next
  if (job = next_valid_job)
    run job
  end
end
consume_sync() click to toggle source
# File lib/afterparty/worker.rb, line 19
def consume_sync
  while !@stopped
    job = next_valid_job
    if job
      puts "Executing job: #{job.id}" if job.respond_to? :id
      run job
    else
      sleep(@options[:sleep])
    end
  end
end
stop() click to toggle source
# File lib/afterparty/worker.rb, line 31
def stop
  @stopped = true
  @thread.join(0) if @thread
end