Jag tror inte att du kan avbryta prenumerationen i klienten eftersom klienten blockerades. Jag skrev ett ruby-skript för att visa hur man använder unsubscribe.
require 'redis'
r = Redis.new
r.subscribe 'first' do |on|
on.message do |e, d|
puts e
puts d
r.unsubscribe
end
end
puts "script was blocked?"
Om du tar bort r.unsubscribe kommer skriptet att blockeras. Och du kan lägga till if-klausul för att kontrollera när du ska avsluta prenumerationen client.ex:
r.unsubscribe if d == 'leave'