Module: Afterparty::QueueHelpers
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
- #authenticate(username, password) ⇒ Object
- #clear ⇒ Object
- #completed ⇒ Object
-
#config_login(&block) ⇒ Object
&block takes a ‘username’ and ‘password’ argument.
- #handle_exception(job, exception) ⇒ Object
- #initialize(options = {}) ⇒ Object
- #jobs ⇒ Object
- #jobs_empty? ⇒ Boolean
- #last_completed ⇒ Object
- #next_valid_job ⇒ Object
- #run(job) ⇒ Object
- #total_jobs_count ⇒ Object
- #valid_jobs ⇒ Object
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
3 4 5 |
# File 'lib/afterparty/queue_helpers.rb', line 3 def @options end |
Instance Method Details
#authenticate(username, password) ⇒ Object
78 79 80 81 |
# 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 ⇒ Object
13 14 15 |
# File 'lib/afterparty/queue_helpers.rb', line 13 def clear AfterpartyJob.namespaced(@options[:namespace]).destroy_all end |
#completed ⇒ Object
41 42 43 |
# File 'lib/afterparty/queue_helpers.rb', line 41 def completed AfterpartyJob.namespaced(@options[:namespace]).completed end |
#config_login(&block) ⇒ Object
&block takes a ‘username’ and ‘password’ argument. return true or false
74 75 76 |
# File 'lib/afterparty/queue_helpers.rb', line 74 def config_login &block @login_block = block end |
#handle_exception(job, exception) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 |
# 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. = exception. job.error_backtrace = exception.backtrace.join("\n") job.save = "Job Error: #{job.inspect}\n#{exception.}" << "\n#{exception.backtrace.join("\n")}" @options[:logger].error end |
#initialize(options = {}) ⇒ Object
5 6 7 8 9 10 11 |
# File 'lib/afterparty/queue_helpers.rb', line 5 def initialize = {} @options = @options[:namespace] ||= :default @options[:sleep] ||= 10 @options[:logger] ||= Logger.new($stderr) self end |
#jobs ⇒ Object
17 18 19 |
# File 'lib/afterparty/queue_helpers.rb', line 17 def jobs AfterpartyJob.namespaced(@options[:namespace]).incomplete end |
#jobs_empty? ⇒ Boolean
29 30 31 |
# File 'lib/afterparty/queue_helpers.rb', line 29 def jobs_empty? AfterpartyJob.namespaced(@options[:namespace]).valid.empty? end |
#last_completed ⇒ Object
37 38 39 |
# File 'lib/afterparty/queue_helpers.rb', line 37 def last_completed AfterpartyJob.namespaced(@options[:namespace]).completed.first end |
#next_valid_job ⇒ Object
25 26 27 |
# File 'lib/afterparty/queue_helpers.rb', line 25 def next_valid_job AfterpartyJob.namespaced(@options[:namespace]).valid.first end |
#run(job) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# 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 marshaling job." end job.completed = true job.completed_at = DateTime.now job.save rescue Exception => exception handle_exception job, exception end |
#total_jobs_count ⇒ Object
33 34 35 |
# File 'lib/afterparty/queue_helpers.rb', line 33 def total_jobs_count AfterpartyJob.namespaced(@options[:namespace]).incomplete.count end |
#valid_jobs ⇒ Object
21 22 23 |
# File 'lib/afterparty/queue_helpers.rb', line 21 def valid_jobs AfterpartyJob.namespaced(@options[:namespace]).valid end |