sse-rails-engine 1.3.0 → 1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sse_rails_engine/connection.rb +7 -1
- data/lib/sse_rails_engine/manager.rb +2 -2
- data/lib/sse_rails_engine/version.rb +1 -1
- data/test/dummy/log/test.log +50 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 610475d7224867bda65d90174bd8edc8f5c4d1c8
|
4
|
+
data.tar.gz: 8794db9b9d153d5be6d49ae7ad517d5c412b3e4a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b2355c4e7859f8f3fb674d191b5e1167bc5555bc7f1483716646772d16fba10dc9b691669556d7344771381f2d1b3e5da6aeee9d9856f365fe134535cc302c52
|
7
|
+
data.tar.gz: c776711df39057100c8e08f8383c253ed9fff521b1954b767cb9076e1bcaa48931b038e6c66ce101b93d0792990c309fd24784d00bfd32419853398eb4a7f90d
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module SseRailsEngine
|
2
2
|
class Connection
|
3
|
-
attr_accessor :stream
|
3
|
+
attr_accessor :stream, :channels
|
4
4
|
|
5
5
|
SSE_HEADER = ["HTTP/1.1 200 OK\r\n",
|
6
6
|
"Content-Type: text/event-stream\r\n",
|
@@ -9,6 +9,7 @@ module SseRailsEngine
|
|
9
9
|
"\r\n"].join.freeze
|
10
10
|
|
11
11
|
def initialize(io, env)
|
12
|
+
clear_active_db_connections
|
12
13
|
@socket = io
|
13
14
|
@socket.write SSE_HEADER
|
14
15
|
@socket.flush
|
@@ -32,5 +33,10 @@ module SseRailsEngine
|
|
32
33
|
def requested_channels(env)
|
33
34
|
Rack::Utils.parse_query(env['QUERY_STRING']).fetch('channels', []).split(',').flatten
|
34
35
|
end
|
36
|
+
|
37
|
+
def clear_active_db_connections
|
38
|
+
return unless defined? ActiveRecord::Base.clear_active_connections!
|
39
|
+
ActiveRecord::Base.clear_active_connections!
|
40
|
+
end
|
35
41
|
end
|
36
42
|
end
|
@@ -40,7 +40,7 @@ module SseRailsEngine
|
|
40
40
|
@connections.dup.each do |stream, connection|
|
41
41
|
begin
|
42
42
|
connection.write(name, data)
|
43
|
-
rescue
|
43
|
+
rescue => ex
|
44
44
|
Rails.logger.debug "SSE Client disconnected: #{stream} - #{ex.message}"
|
45
45
|
close_connection(stream)
|
46
46
|
end
|
@@ -49,9 +49,9 @@ module SseRailsEngine
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def open_connection(io, env)
|
52
|
-
Rails.logger.debug "New SSE Client connected: #{io}"
|
53
52
|
@mutex.synchronize do
|
54
53
|
@connections[io] = Connection.new(io, env)
|
54
|
+
Rails.logger.debug "New SSE Client connected: #{io} - #{@connections[io].channels}"
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
data/test/dummy/log/test.log
CHANGED
@@ -564,3 +564,53 @@ New SSE Client connected: #<StringIO:0x007fdd7a8daf18>
|
|
564
564
|
SSE Client disconnected: #<StringIO:0x007fdd7a8daf18> - IOError
|
565
565
|
Starting SSE heartbeat thread!
|
566
566
|
New SSE Client connected: #<StringIO:0x007fdd7a8d27c8>
|
567
|
+
Starting SSE heartbeat thread!
|
568
|
+
Starting SSE heartbeat thread!
|
569
|
+
New SSE Client connected: #<StringIO:0x007f882b4d9440>
|
570
|
+
Starting SSE heartbeat thread!
|
571
|
+
New SSE Client connected: #<StringIO:0x007f882b4d1510>
|
572
|
+
SSE Client disconnected: #<StringIO:0x007f882b4d1510> - IOError
|
573
|
+
Starting SSE heartbeat thread!
|
574
|
+
Starting SSE heartbeat thread!
|
575
|
+
New SSE Client connected: #<StringIO:0x007f882b4c1d18>
|
576
|
+
New SSE Client connected: #<StringIO:0x007f882b4c2420>
|
577
|
+
Starting SSE heartbeat thread!
|
578
|
+
New SSE Client connected: #<StringIO:0x007f882b4b9fa0>
|
579
|
+
Starting SSE heartbeat thread!
|
580
|
+
Starting SSE heartbeat thread!
|
581
|
+
New SSE Client connected: #<StringIO:0x007f882b4b0cc0>
|
582
|
+
Starting SSE heartbeat thread!
|
583
|
+
New SSE Client connected: #<StringIO:0x007f882b4a3250>
|
584
|
+
SSE Client disconnected: #<StringIO:0x007f882b4a3250> - IOError
|
585
|
+
Starting SSE heartbeat thread!
|
586
|
+
New SSE Client connected: #<StringIO:0x007f882b4a0550>
|
587
|
+
Starting SSE heartbeat thread!
|
588
|
+
Starting SSE heartbeat thread!
|
589
|
+
New SSE Client connected: #<StringIO:0x007f882b48b880>
|
590
|
+
Starting SSE heartbeat thread!
|
591
|
+
New SSE Client connected: #<StringIO:0x007f882b488630>
|
592
|
+
Starting SSE heartbeat thread!
|
593
|
+
Starting SSE heartbeat thread!
|
594
|
+
New SSE Client connected: #<StringIO:0x007fb5342ab728> - ["foo", "bar"]
|
595
|
+
Starting SSE heartbeat thread!
|
596
|
+
Starting SSE heartbeat thread!
|
597
|
+
New SSE Client connected: #<StringIO:0x007fb5342a1390> - []
|
598
|
+
Starting SSE heartbeat thread!
|
599
|
+
New SSE Client connected: #<StringIO:0x007fb534293c68> - []
|
600
|
+
Starting SSE heartbeat thread!
|
601
|
+
Starting SSE heartbeat thread!
|
602
|
+
New SSE Client connected: #<StringIO:0x007fb53428b1a8> - ["foo", "bar"]
|
603
|
+
Starting SSE heartbeat thread!
|
604
|
+
New SSE Client connected: #<StringIO:0x007fb534280d20> - []
|
605
|
+
SSE Client disconnected: #<StringIO:0x007fb534280d20> - IOError
|
606
|
+
Starting SSE heartbeat thread!
|
607
|
+
New SSE Client connected: #<StringIO:0x007fb534273aa8> - []
|
608
|
+
SSE Client disconnected: #<StringIO:0x007fb534273aa8> - IOError
|
609
|
+
Starting SSE heartbeat thread!
|
610
|
+
New SSE Client connected: #<StringIO:0x007fb534270830> - []
|
611
|
+
Starting SSE heartbeat thread!
|
612
|
+
Starting SSE heartbeat thread!
|
613
|
+
New SSE Client connected: #<StringIO:0x007fb534260098> - []
|
614
|
+
Starting SSE heartbeat thread!
|
615
|
+
New SSE Client connected: #<StringIO:0x007fb534253258> - []
|
616
|
+
New SSE Client connected: #<StringIO:0x007fb534253730> - ["foo", "bar"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sse-rails-engine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shane Hender
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|