class Sidekiq::Promise::Subscription
Public Class Methods
ready()
click to toggle source
# File lib/sidekiq/promise/subscription.rb, line 14 def ready @ready ||= MrDarcy.promise do |promise| Sidekiq::Promise.redis_pool.with do |redis| redis.subscribe Sidekiq::Promise::Middleware::CHANNEL do |on| on.subscribe do promise.resolve true end on.message do |channel,message| message = JSON.parse(message) subscriptions.each do |block| block.call message end end end end end end
subscribe(&block)
click to toggle source
# File lib/sidekiq/promise/subscription.rb, line 5 def subscribe &block subscriptions << block block end
unsubscribe(id)
click to toggle source
# File lib/sidekiq/promise/subscription.rb, line 10 def unsubscribe id subscriptions.delete id end
Private Class Methods
subscriptions()
click to toggle source
# File lib/sidekiq/promise/subscription.rb, line 34 def subscriptions @subscriptions ||= [] end