Module: Redis::Commands::Pubsub

Included in:
Redis::Commands
Defined in:
lib/redis/commands/pubsub.rb

Instance Method Summary collapse

Instance Method Details

#psubscribe(*channels, &block) ⇒ Object

Listen for messages published to channels matching the given patterns. See the [Redis Server PSUBSCRIBE documentation](redis.io/docs/latest/commands/psubscribe/) for further details



34
35
36
# File 'lib/redis/commands/pubsub.rb', line 34

def psubscribe(*channels, &block)
  _subscription(:psubscribe, 0, channels, block)
end

#psubscribe_with_timeout(timeout, *channels, &block) ⇒ Object

Listen for messages published to channels matching the given patterns. Throw a timeout error if there is no messages for a timeout period. See the [Redis Server PSUBSCRIBE documentation](redis.io/docs/latest/commands/psubscribe/) for further details



42
43
44
# File 'lib/redis/commands/pubsub.rb', line 42

def psubscribe_with_timeout(timeout, *channels, &block)
  _subscription(:psubscribe_with_timeout, timeout, channels, block)
end

#publish(channel, message) ⇒ Object

Post a message to a channel.



7
8
9
# File 'lib/redis/commands/pubsub.rb', line 7

def publish(channel, message)
  send_command([:publish, channel, message])
end

#pubsub(subcommand, *args) ⇒ Object

Inspect the state of the Pub/Sub subsystem. Possible subcommands: channels, numsub, numpat.



55
56
57
# File 'lib/redis/commands/pubsub.rb', line 55

def pubsub(subcommand, *args)
  send_command([:pubsub, subcommand] + args)
end

#punsubscribe(*channels) ⇒ Object

Stop listening for messages posted to channels matching the given patterns. See the [Redis Server PUNSUBSCRIBE documentation](redis.io/docs/latest/commands/punsubscribe/) for further details



49
50
51
# File 'lib/redis/commands/pubsub.rb', line 49

def punsubscribe(*channels)
  _subscription(:punsubscribe, 0, channels, nil)
end

#spublish(channel, message) ⇒ Object

Post a message to a channel in a shard.



60
61
62
# File 'lib/redis/commands/pubsub.rb', line 60

def spublish(channel, message)
  send_command([:spublish, channel, message])
end

#ssubscribe(*channels, &block) ⇒ Object

Listen for messages published to the given channels in a shard.



65
66
67
# File 'lib/redis/commands/pubsub.rb', line 65

def ssubscribe(*channels, &block)
  _subscription(:ssubscribe, 0, channels, block)
end

#ssubscribe_with_timeout(timeout, *channels, &block) ⇒ Object

Listen for messages published to the given channels in a shard. Throw a timeout error if there is no messages for a timeout period.



71
72
73
# File 'lib/redis/commands/pubsub.rb', line 71

def ssubscribe_with_timeout(timeout, *channels, &block)
  _subscription(:ssubscribe_with_timeout, timeout, channels, block)
end

#subscribe(*channels, &block) ⇒ Object

Listen for messages published to the given channels.



16
17
18
# File 'lib/redis/commands/pubsub.rb', line 16

def subscribe(*channels, &block)
  _subscription(:subscribe, 0, channels, block)
end

#subscribe_with_timeout(timeout, *channels, &block) ⇒ Object

Listen for messages published to the given channels. Throw a timeout error if there is no messages for a timeout period.



22
23
24
# File 'lib/redis/commands/pubsub.rb', line 22

def subscribe_with_timeout(timeout, *channels, &block)
  _subscription(:subscribe_with_timeout, timeout, channels, block)
end

#subscribed?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/redis/commands/pubsub.rb', line 11

def subscribed?
  !@subscription_client.nil?
end

#sunsubscribe(*channels) ⇒ Object

Stop listening for messages posted to the given channels in a shard.



76
77
78
# File 'lib/redis/commands/pubsub.rb', line 76

def sunsubscribe(*channels)
  _subscription(:sunsubscribe, 0, channels, nil)
end

#unsubscribe(*channels) ⇒ Object

Stop listening for messages posted to the given channels.



27
28
29
# File 'lib/redis/commands/pubsub.rb', line 27

def unsubscribe(*channels)
  _subscription(:unsubscribe, 0, channels, nil)
end