Sha256: def33f1ab4ce92c6c04e02b1424cb50a3fa5c5b0e9da475e69fb2eec01736b5c

Contents?: true

Size: 991 Bytes

Versions: 2

Compression:

Stored size: 991 Bytes

Contents

require 'background_worker/version'
require 'background_worker/config'
require 'background_worker/base'

module BackgroundWorker
  # Configure worker
  #
  # eg:
  # BackgroundWorker.configure(
  #   logger: Rails.logger,
  #   enqueue_with: -> klass, opts { Resque.enqueue(klass, opts) },
  #   after_exception: -> e { Airbrake.notify(e) }
  # )
  def self.configure(options)
    @config = Config.new(options)
  end

  def self.enqueue(klass, options)
    config.enqueue_with.call(klass, options)
  end

  def self.logger
    config.logger
  end

  def self.verify_active_connections!
    if defined?(Rails)
      Rails.cache.reconnect if Rails.cache.respond_to?(:reconnect)
      Rails.cache.redis.close if Rails.cache.respond_to?(:redis)
    end
  end

  def self.release_connections!
    ActiveRecord::Base.clear_all_connections!
  end

  def self.after_exception(e)
    config.after_exception(e)
  end

  def self.config
    fail 'Not configured!' unless @config
    @config
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
background_worker-0.9.0 lib/background_worker.rb
background_worker-0.8.1 lib/background_worker.rb