Sha256: fa193e7f535f9ec4fb358bfa84d8a26a72c22414f405005e1f90ed5f8d0f8921

Contents?: true

Size: 611 Bytes

Versions: 1

Compression:

Stored size: 611 Bytes

Contents

module Cloudist
  class Worker

    attr_reader :job, :queue, :payload

    def initialize(job, queue)
      @job, @queue, @payload = job, queue, job.payload

      # Do custom initialization
      self.setup if self.respond_to?(:setup)
    end

    def data
      job.data
    end

    def headers
      job.headers
    end

    def id
      job.id
    end

    def process
      raise NotImplementedError, "Your worker class must subclass this method"
    end

    def log
      Cloudist.log
    end

  end

  class GenericWorker < Worker
    def process(&block)
      instance_eval(&block)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cloudist-0.5.0 lib/cloudist/worker.rb