Sha256: cce6989d71ac2b6e4a598d655079c678243ce8fc7c7d97e2554155cae2063c12
Contents?: true
Size: 1.03 KB
Versions: 1
Compression:
Stored size: 1.03 KB
Contents
module Quebert module Controller # Handle interactions between a job and a Beanstalk queue. class Beanstalk < Base attr_reader :beanstalk_job, :queue, :job def initialize(beanstalk_job, queue) @beanstalk_job, @queue = beanstalk_job, queue begin @job = Job.from_json(beanstalk_job.body) rescue Job::Delete beanstalk_job.delete rescue Job::Release beanstalk_job.release nil, @job.delay rescue Job::Bury beanstalk_job.bury rescue Exception => e beanstalk_job.bury raise e end end def perform begin result = job.perform! beanstalk_job.delete result rescue Job::Delete beanstalk_job.delete rescue Job::Release beanstalk_job.release nil, @job.delay rescue Job::Bury beanstalk_job.bury rescue Exception => e beanstalk_job.bury raise e end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
quebert-0.0.8 | lib/quebert/controller/beanstalk.rb |