module Afterparty::QueueHelpers
Attributes
options[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/afterparty/queue_helpers.rb, line 5 def initialize options = {} @options = options @options[:namespace] ||= :default @options[:sleep] ||= 10 @options[:logger] ||= Logger.new($stderr) self end
Public Instance Methods
authenticate(username, password)
click to toggle source
# File lib/afterparty/queue_helpers.rb, line 78 def authenticate username, password raise 'Must set queue.config_login to use dashboard' if @login_block.nil? @login_block.call(username, password) end
clear()
click to toggle source
# File lib/afterparty/queue_helpers.rb, line 13 def clear AfterpartyJob.namespaced(@options[:namespace]).destroy_all end
completed()
click to toggle source
# File lib/afterparty/queue_helpers.rb, line 41 def completed AfterpartyJob.namespaced(@options[:namespace]).completed end
config_login(&block)
click to toggle source
&block takes a 'username' and 'password' argument. return true or false
# File lib/afterparty/queue_helpers.rb, line 74 def config_login &block @login_block = block end
handle_exception(job, exception)
click to toggle source
# File lib/afterparty/queue_helpers.rb, line 60 def handle_exception(job, exception) job.completed = true job.completed_at = DateTime.now job.has_error = true job.error_message = exception.message job.error_backtrace = exception.backtrace.join("\n") job.save logger_message = "Job Error: #{job.inspect}\n#{exception.message}" logger_message << "\n#{exception.backtrace.join("\n")}" @options[:logger].error logger_message end
jobs()
click to toggle source
# File lib/afterparty/queue_helpers.rb, line 17 def jobs AfterpartyJob.namespaced(@options[:namespace]).incomplete end
jobs_empty?()
click to toggle source
# File lib/afterparty/queue_helpers.rb, line 29 def jobs_empty? AfterpartyJob.namespaced(@options[:namespace]).valid.empty? end
last_completed()
click to toggle source
# File lib/afterparty/queue_helpers.rb, line 37 def last_completed AfterpartyJob.namespaced(@options[:namespace]).completed.first end
next_valid_job()
click to toggle source
# File lib/afterparty/queue_helpers.rb, line 25 def next_valid_job AfterpartyJob.namespaced(@options[:namespace]).valid.first end
run(job)
click to toggle source
# File lib/afterparty/queue_helpers.rb, line 45 def run(job) real_job = job.reify if real_job job.execute else job.has_error = true job.error_message = "Error marshaling job." end job.completed = true job.completed_at = DateTime.now job.save rescue Exception => exception handle_exception job, exception end
total_jobs_count()
click to toggle source
# File lib/afterparty/queue_helpers.rb, line 33 def total_jobs_count AfterpartyJob.namespaced(@options[:namespace]).incomplete.count end
valid_jobs()
click to toggle source
# File lib/afterparty/queue_helpers.rb, line 21 def valid_jobs AfterpartyJob.namespaced(@options[:namespace]).valid end