module Delayed::Backend::Azure::Actions

Public Instance Methods

after_fork() click to toggle source
# File lib/delayed/backend/actions.rb, line 21
def after_fork
end
before_fork() click to toggle source
# File lib/delayed/backend/actions.rb, line 18
def before_fork
end
clear_locks!(*args) click to toggle source

No need to check locks

# File lib/delayed/backend/actions.rb, line 62
def clear_locks!(*args)
  true
end
db_time_now() click to toggle source
# File lib/delayed/backend/actions.rb, line 24
def db_time_now
  Time.now.utc
end
delete_all() click to toggle source
# File lib/delayed/backend/actions.rb, line 45
def delete_all
  deleted = 0
  Delayed::Worker.available_priorities.each do |priority|
    loop do
      msgs = azure.list_messages queue_name(priority), 0, 
        number_of_messages: 1000

      break if msgs.blank?
      msgs.each do |msg|
        azure.delete_message queue_name(priority), msg.id, msg.pop_receipt
        deleted += 1
      end
    end
  end
end
field(name, options = {}) click to toggle source
# File lib/delayed/backend/actions.rb, line 5
def field(name, options = {})
  #type   = options[:type]    || String
  default = options[:default] || nil
  define_method name do
    @attributes ||= {}
    @attributes[name.to_sym] || default
  end
  define_method "#{name}=" do |value|
    @attributes ||= {}
    @attributes[name.to_sym] = value
  end
end
find_available(worker_name, limit = 5, max_run_time = Worker.max_run_time) click to toggle source

def self.queue_name

Delayed::Worker.queue_name

end

# File lib/delayed/backend/actions.rb, line 32
def find_available(worker_name, limit = 5, max_run_time = Worker.max_run_time)
  Delayed::Worker.available_priorities.each do |priority|
    unless queues.include? queue_name
      azure.create_queue queue_name
      queues << queue_name
    end

    message = azure.list_messages queue_name(priority), 0
    return [Delayed::Backend::Azure::Job.new(message)] if message
  end
  []
end

Private Instance Methods

azure() click to toggle source
# File lib/delayed/backend/actions.rb, line 68
def azure
  ::Delayed::Worker.azure
end
queue_name(priority) click to toggle source
# File lib/delayed/backend/actions.rb, line 76
def queue_name(priority)
  "#{Delayed::Worker.queue_name}-#{priority || 0}"
end
queues() click to toggle source
# File lib/delayed/backend/actions.rb, line 72
def queues
  ::Delayed::Worker.queues
end