module ActionCable::Channel::PeriodicTimers
Private Instance Methods
active_periodic_timers()
click to toggle source
# File lib/action_cable/channel/periodic_timers.rb, line 55 def active_periodic_timers @active_periodic_timers ||= [] end
start_periodic_timer(callback, every:)
click to toggle source
# File lib/action_cable/channel/periodic_timers.rb, line 65 def start_periodic_timer(callback, every)) connection.server.event_loop.timer every do connection.worker_pool.async_exec self, connection: connection, &callback end end
start_periodic_timers()
click to toggle source
# File lib/action_cable/channel/periodic_timers.rb, line 59 def start_periodic_timers self.class.periodic_timers.each do |callback, options| active_periodic_timers << start_periodic_timer(callback, every: options.fetch(:every)) end end
stop_periodic_timers()
click to toggle source
# File lib/action_cable/channel/periodic_timers.rb, line 71 def stop_periodic_timers active_periodic_timers.each { |timer| timer.shutdown } active_periodic_timers.clear end