class OstRunner::Worker

Attributes

queue_name[R]
size[R]

Public Class Methods

execute(msg) click to toggle source
# File lib/ost_runner/worker.rb, line 23
def self.execute(msg)
  job_data = ActiveSupport::JSON.decode(msg)
  ActiveJob::Base.execute(job_data)
end
new(queue_name, options = {}) click to toggle source
# File lib/ost_runner/worker.rb, line 7
def initialize(queue_name, options = {})
  @queue_name = queue_name
  @daemon = options[:daemon]
  @size = options[:pool] || 1
end

Public Instance Methods

start() click to toggle source
# File lib/ost_runner/worker.rb, line 13
def start
  Array.new(size) do
    Thread.new do
      Ost[queue_name].each do |msg|
        self.class.execute(msg)
      end
    end
  end.each(&:join)
end