class SlackRTMReceiver::Reactor
Public Class Methods
run(opts)
click to toggle source
Start reactor @param opts [Hash] options for Slack web API rtm.start
# File lib/slack-rtm-receiver/reactor.rb, line 10 def self.run(opts) logger = SlackRTMReceiver.logger logger.warn "SlackRTMReceiver ver. #{Version} loaded, Reactor starting..." EM.run do session = Session.new starter = Starter.start(session, opts) # life check EM.add_periodic_timer(15) do session.alive? ? session.ping_if_idle : starter.start(session) end # statistics check EM.add_periodic_timer(3600) do session.stats({log: true}) if session.alive? end end logger.warn 'Reactor stopped' end