module Beez::Worker

Attributes

client[RW]
max_jobs_to_activate[RW]
poll_interval[RW]
timeout[RW]
type[RW]
variables[RW]

Public Class Methods

included(base) click to toggle source
# File lib/beez/worker.rb, line 7
def self.included(base)
  base.extend(ClassMethods)
  Beez.register_worker(base)
end
new(client) click to toggle source
# File lib/beez/worker.rb, line 12
def initialize(client)
  @client = client
end

Public Instance Methods

complete_job(job, variables: {}) click to toggle source
# File lib/beez/worker.rb, line 16
def complete_job(job, variables: {})
  logger.info "Completed processing job #{job.type} #{job.key}"
  client.complete_job(
    jobKey: job.key,
    variables: Hash(variables).to_json,
  )
end
fail_job(job, reason: "") click to toggle source
# File lib/beez/worker.rb, line 24
def fail_job(job, reason: "")
  logger.error "Failed processing job #{job.type} #{job.key}: #{reason}"
  client.fail_job(
    jobKey: job.key,
    retries: job.retries - 1,
    errorMessage: reason,
  )
rescue => e
  logger.error e.message
end
logger() click to toggle source
# File lib/beez/worker.rb, line 35
def logger
  ::Beez.logger
end