Sha256: 9796d5369d7dfa951d8656310317c26cb8947fa22d1ccced1de89e892c7f3b9f

Contents?: true

Size: 947 Bytes

Versions: 42

Compression:

Stored size: 947 Bytes

Contents

class BasicJob
  class_attribute :results
  self.results = Concurrent::Array.new

  def initialize(some_param: nil, sleep_time: 1)
    @some_param = some_param
    @sleep_time = sleep_time
  end

  def perform
    results << @some_param
    sleep @sleep_time if @sleep_time > 0
  end
end

class DbConnectionTestJob
  class_attribute :db_connections
  self.db_connections = Concurrent::Array.new

  def perform
    db_connections << ActiveRecord::Base.connection.object_id
  end
end

class FailingTestJob
  MESSAGE = 'I fail all the time'.freeze

  def perform
    fail MESSAGE
  end
end

class SyntaxErrorJob
  def perform
    fail SyntaxError
  end
end

class DummyRailsOpsOp
  class_attribute :results
  self.results = Concurrent::Array.new

  def self.run!(params = {})
    new(params).run!
  end

  def initialize(params = {})
    @params = params
  end

  def run!
    perform
  end

  private

  def perform
    results << @params
  end
end

Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
workhorse-0.3.7 test/lib/jobs.rb
workhorse-0.3.6 test/lib/jobs.rb