class Rcom::Task
Attributes
channel[R]
node[R]
Public Class Methods
new(params)
click to toggle source
# File lib/rcom/task.rb, line 5 def initialize(params) @node = params[:node] @channel = params[:channel] end
Public Instance Methods
publish(message)
click to toggle source
# File lib/rcom/task.rb, line 10 def publish(message) begin node.lpush(channel, message.to_msgpack) return true rescue return nil end end
subscribe() { |message| ... }
click to toggle source
# File lib/rcom/task.rb, line 19 def subscribe begin loop do ch, request = node.brpop(channel) message = MessagePack.unpack( request, symbolize_keys: true ) yield message end rescue Interrupt => _ end end