aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/action_cable/channel/base.rb7
-rw-r--r--lib/action_cable/server.rb8
2 files changed, 12 insertions, 3 deletions
diff --git a/lib/action_cable/channel/base.rb b/lib/action_cable/channel/base.rb
index a3aa4df2ad..832c8cc314 100644
--- a/lib/action_cable/channel/base.rb
+++ b/lib/action_cable/channel/base.rb
@@ -67,7 +67,7 @@ module ActionCable
def start_periodic_timers
self.class.periodic_timers.each do |callback, options|
@_active_periodic_timers << EventMachine::PeriodicTimer.new(options[:every]) do
- connection.class.worker_pool.async.run_periodic_timer(self, callback)
+ worker_pool.async.run_periodic_timer(self, callback)
end
end
end
@@ -75,6 +75,11 @@ module ActionCable
def stop_periodic_timers
@_active_periodic_timers.each {|t| t.cancel }
end
+
+ def worker_pool
+ connection.worker_pool
+ end
+
end
end
diff --git a/lib/action_cable/server.rb b/lib/action_cable/server.rb
index d1b7e14b53..b6ea201b52 100644
--- a/lib/action_cable/server.rb
+++ b/lib/action_cable/server.rb
@@ -32,11 +32,11 @@ module ActionCable
@websocket.on(:message) do |event|
message = event.data
- self.class.worker_pool.async.received_data(self, message) if message.is_a?(String)
+ worker_pool.async.received_data(self, message) if message.is_a?(String)
end
@websocket.on(:close) do |event|
- self.class.worker_pool.async.cleanup_subscriptions(self)
+ worker_pool.async.cleanup_subscriptions(self)
end
@websocket.rack_response
@@ -68,6 +68,10 @@ module ActionCable
@websocket.send data
end
+ def worker_pool
+ self.class.worker_pool
+ end
+
private
def subscribe_channel(data)
id_key = data['identifier']