Sha256: 8813df546f7aadb5322ef707f3bd9ae67e559632d3fe1442c162794271e364d4
Contents?: true
Size: 1 KB
Versions: 3
Compression:
Stored size: 1 KB
Contents
require 'beanstalk-client' module Quebert module Backend # Manage jobs on a Beanstalk queue out of process class Beanstalk < Beanstalk::Pool def put(job, *args) super job.to_json, *args end def reserve_with_controller Controller::Beanstalk.new(reserve_without_controller, self) end alias :reserve_without_controller :reserve alias :reserve :reserve_with_controller # For testing purposes... I think there's a better way to do this though. def drain! while peek_ready do reserve_without_controller.delete end while peek_delayed do reserve_without_controller.delete end while job = peek_buried do last_conn.kick 1 # what? Why the 1? it kicks them all? reserve_without_controller.delete end end def self.configure(opts={}) opts[:host] ||= '127.0.0.1:11300' new(opts[:host], opts[:tube]) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
quebert-1.0.1 | lib/quebert/backend/beanstalk.rb |
quebert-1.0.0 | lib/quebert/backend/beanstalk.rb |
quebert-0.0.9 | lib/quebert/backend/beanstalk.rb |