Sha256: 0fcbd6012cf1edbc503ca8f8d8526530e0d2c6e7e662a93772a65d2f34eeafef

Contents?: true

Size: 706 Bytes

Versions: 2

Compression:

Stored size: 706 Bytes

Contents

require "active_job/queue_adapter"

class MissionControl::Jobs::Server
  include MissionControl::Jobs::IdentifiedByName
  include Serializable, Workers

  attr_reader :name, :queue_adapter, :application

  def initialize(name:, queue_adapter:, application:)
    super(name: name)
    @queue_adapter = queue_adapter
    @application = application
  end

  def activating(&block)
    previous_adapter = ActiveJob::Base.current_queue_adapter
    ActiveJob::Base.current_queue_adapter = queue_adapter
    queue_adapter.activating(&block)
  ensure
    ActiveJob::Base.current_queue_adapter = previous_adapter
  end

  def queue_adapter_name
    ActiveJob.adapter_name(queue_adapter).underscore.to_sym
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mission_control-jobs-0.1.1 lib/mission_control/jobs/server.rb
mission_control-jobs-0.1.0 lib/mission_control/jobs/server.rb