Method: MessageBus::Rack::Middleware#add_client_with_timeout

Defined in:
lib/message_bus/rack/middleware.rb

#add_client_with_timeout(client) ⇒ Object



204
205
206
207
208
209
210
211
212
213
214
215
216
# File 'lib/message_bus/rack/middleware.rb', line 204

def add_client_with_timeout(client)
  @connection_manager.add_client(client)

  client.cleanup_timer = MessageBus.timer.queue(@bus.long_polling_interval.to_f / 1000) {
    begin
      client.cleanup_timer = nil
      client.ensure_closed!
      @connection_manager.remove_client(client)
    rescue
      @bus.logger.warn "Failed to clean up client properly: #{$!} #{$!.backtrace}"
    end
  }
end