Sha256: 4ba7083b23729e870f5e5dfbd9ea14c3baa6748e8eea5d720f6127bb16e694a6
Contents?: true
Size: 1.36 KB
Versions: 15
Compression:
Stored size: 1.36 KB
Contents
module Taskinator module Queues DefaultConfig = { :definition_queue => :default, :process_queue => :default, :task_queue => :default }.freeze def self.create_adapter(adapter, config={}) begin LoggedAdapter.new(send("create_#{adapter}_adapter", config)) rescue NoMethodError raise "The queue adapter `#{adapter}` is not yet supported or it's runtime isn't loaded." end end class LoggedAdapter < Delegator attr_reader :adapter def initialize(adapter) Taskinator.logger.info("Initialized '#{adapter.class.name}' queue adapter") @adapter = adapter end def __getobj__ adapter end def enqueue_create_process(definition, uuid, args) Taskinator.logger.info("Enqueuing process creation for #{definition}") adapter.enqueue_create_process(definition, uuid, args) end def enqueue_process(process) Taskinator.logger.info("Enqueuing process #{process}") adapter.enqueue_process(process) end def enqueue_task(task) Taskinator.logger.info("Enqueuing task #{task}") adapter.enqueue_task(task) end end end end require 'taskinator/queues/delayed_job' if defined?(Delayed) require 'taskinator/queues/resque' if defined?(Resque) require 'taskinator/queues/sidekiq' if defined?(Sidekiq)
Version data entries
15 entries across 15 versions & 1 rubygems