Sha256: f90771d70afd5826eac2098cf2dc56798935a514a685390e751cfb99beb495f3

Contents?: true

Size: 985 Bytes

Versions: 10

Compression:

Stored size: 985 Bytes

Contents

#encoding: UTF-8
class Redis
  module Stream
    module Inspect
      def groups
        @redis.xinfo("groups", @stream)
      rescue Exception => e
        @logger.error("#{@consumer_id} - #{e.message}")
        {}
      end

      def info
        @redis.xinfo("stream", @stream)
      end

      def consumers(group = @group)
        @redis.xinfo("consumers", @stream, group)
      end

      def del_consumer(group = @group, consumer = @consumer_id)
        @logger.info("#{@consumer_id} - deleting consumer #{group}-#{consumer}")
        @redis.xgroup('DELCONSUMER', @stream, group, consumer)
      end

      def del_group(group = @group)
        if consumers(group).length == 0 && groups.map { |m| m["name"] }.include?(group)
          @logger.info("#{@consumer_id} - deleting group #{group}")
          @redis.xgroup('DESTROY', @stream, group)
        end
      end

      def pending_messages
        @redis.xrange(@stream)
      end
    end #Inspect
  end #Stream
end # Redis

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
redis-stream-0.4.6 lib/redis/stream/inspect.rb
redis-stream-0.4.5 lib/redis/stream/inspect.rb
redis-stream-0.4.4 lib/redis/stream/inspect.rb
redis-stream-0.4.3 lib/redis/stream/inspect.rb
redis-stream-0.4.2 lib/redis/stream/inspect.rb
redis-stream-0.4.1 lib/redis/stream/inspect.rb
redis-stream-0.4.0 lib/redis/stream/inspect.rb
redis-stream-0.3.0 lib/redis/stream/inspect.rb
redis-stream-0.2.0 lib/redis/stream/inspect.rb
redis-stream-0.1.0 lib/redis/stream/inspect.rb