Sha256: 945df8ca4318f326f3ddeb7562117cca86f783a126612408d3a16d43ad75d6eb

Contents?: true

Size: 1.04 KB

Versions: 14

Compression:

Stored size: 1.04 KB

Contents

module QueueBus
  module Adapters
    class Base
      # adapters need to define the NonImplemented methods in this class

      def initialize
        enabled!
      end

      def enabled!
        # called the first time we know we are using this adapter
        # it would be a good spot to require the libraries you're using
        # and modify QueueBus::Worker as needed
        raise NotImplementedError
      end

      def redis
        # for now, we're always using redis as a storage mechanism so give us one
        raise NotImplementedError
      end

      def enqueue(queue_name, klass, json)
        # enqueue the given class (Driver/Rider) in your queue
        raise NotImplementedError
      end

      def enqueue_at(epoch_seconds, queue_name, klass, json)
        # enqueue the given class (Publisher) in your queue to run at given time
        raise NotImplementedError
      end

      def setup_heartbeat!
        # if possible, tell a recurring job system to publish every minute
        raise NotImplementedError
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
queue-bus-0.9.0 lib/queue_bus/adapters/base.rb
queue-bus-0.8.1 lib/queue_bus/adapters/base.rb
queue-bus-0.8.0 lib/queue_bus/adapters/base.rb
queue-bus-0.7.0 lib/queue_bus/adapters/base.rb
queue-bus-0.6.0 lib/queue_bus/adapters/base.rb
queue-bus-0.5.9 lib/queue_bus/adapters/base.rb
queue-bus-0.5.8 lib/queue_bus/adapters/base.rb
queue-bus-0.5.7 lib/queue_bus/adapters/base.rb
queue-bus-0.5.6 lib/queue_bus/adapters/base.rb
queue-bus-0.5.5 lib/queue_bus/adapters/base.rb
queue-bus-0.5.4 lib/queue_bus/adapters/base.rb
queue-bus-0.5.3 lib/queue_bus/adapters/base.rb
queue-bus-0.5.2 lib/queue_bus/adapters/base.rb
queue-bus-0.5.1 lib/queue_bus/adapters/base.rb