Nemyslím si, že v klientovi můžete odhlásit odběr, protože klient byl zablokován. Napsal jsem rubínový skript, který ukazuje, jak používat odhlášení.
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?"
Pokud odeberete r.unsubscribe, skript bude zablokován. A můžete přidat klauzuli if, abyste zjistili, kdy se má odhlásit client.ex:
r.unsubscribe if d == 'leave'