splitclient-rb 7.3.3.pre.rc12 → 7.3.3.pre.rc16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fdfcb65f76be36d988dd50b7a8451f9c7543928591364c0af418c480eb7d8b9f
4
- data.tar.gz: 803770d7a886a327b6c3c53b9b071f18bbabebf18c9fa956198b390ef473f50e
3
+ metadata.gz: b6a503ff0883295f9fb3f4410382626edb0ff66aceed4fb06106fb88715e0ad3
4
+ data.tar.gz: c3acbd299d79022385b9d460ddbfd5563a1e54f730f9307f86eb7c48288028af
5
5
  SHA512:
6
- metadata.gz: 529234623f76a2b3ca5fd1ab9fba37546545c82c6ce9a7d792e264aec7b6eda4464a5804ecac447ce08b46f99b12eb1654fbca10741e1e1f5352dc37fb07cab6
7
- data.tar.gz: 194fcc2c307d2c3d7844b952a3666d2505f5bac3b87e5d28bed22adc2eec476af8c6318dc175bde0cb9007869884d50375f1743a071fba46d32989e430b5086a
6
+ metadata.gz: a0a57f93b4cea780cd29029ac1d3d3f314cff353981dcf61b9315c94ccec1c1a180fc4f0d17d741ec6376dd7a89a67a36336b21b4ed60ef4d0ab96cb5b0ef358
7
+ data.tar.gz: a0729c23bde1600a2dad108e5d059eb820c7de2d476a26595d69c00677fc336020cfebb16339caf55d5faea1c34c73dc5c8fc396546887fc7c614504c3ad23a3
@@ -18,7 +18,7 @@ module SplitIoClient
18
18
  @config.logger.debug("Auth service response push_enabled: #{response[:push_enabled]}") if @config.debug_enabled
19
19
 
20
20
  if response[:push_enabled] && @sse_handler.start(response[:token], response[:channels])
21
- schedule_next_token_refresh(response[:exp])
21
+ schedule_next_token_refresh(200)
22
22
  @back_off.reset
23
23
  record_telemetry(response[:exp])
24
24
 
@@ -34,7 +34,7 @@ module SplitIoClient
34
34
  end
35
35
 
36
36
  def stop_sse
37
- @sse_handler.process_disconnect if @sse_handler.sse_client.nil?
37
+ @config.logger.error('## STOP SSE')
38
38
  @sse_handler.stop
39
39
  SplitIoClient::Helpers::ThreadHelper.stop(:schedule_next_token_refresh, @config)
40
40
  end
@@ -47,9 +47,12 @@ module SplitIoClient
47
47
  @config.logger.debug("schedule_next_token_refresh refresh in #{time} seconds.") if @config.debug_enabled
48
48
  sleep(time)
49
49
  @config.logger.debug('schedule_next_token_refresh starting ...') if @config.debug_enabled
50
+ @config.logger.error('## SCHEDULE NEXT TOKEN')
51
+
50
52
  @sse_handler.stop
51
53
  start_sse
52
54
  rescue StandardError => e
55
+ @config.logger.error("## SCHEDULE EXCEPTION #{e.inspect}")
53
56
  @config.logger.debug("schedule_next_token_refresh error: #{e.inspect}") if @config.debug_enabled
54
57
  end
55
58
  end
@@ -67,6 +67,7 @@ module SplitIoClient
67
67
  end
68
68
 
69
69
  def process_action(action)
70
+ @config.logger.error("process_action #{action}")
70
71
  case action
71
72
  when Constants::PUSH_CONNECTED
72
73
  process_connected
@@ -136,6 +137,7 @@ module SplitIoClient
136
137
  record_telemetry(Telemetry::Domain::Constants::SYNC_MODE, SYNC_MODE_POLLING)
137
138
 
138
139
  if reconnect
140
+ @push_manager.stop_sse
139
141
  @synchronizer.sync_all
140
142
  @push_manager.start_sse
141
143
  end
@@ -7,10 +7,12 @@ module SplitIoClient
7
7
  thread = config.threads[thread_sym]
8
8
 
9
9
  unless thread.nil?
10
- Thread.kill thread
11
- config.logger.debug("#{thread_sym} killed.") if config.debug_enabled
10
+ config.logger.debug("Stopping #{thread_sym} thread...") if config.debug_enabled
11
+ # sleep(0.1) while thread.status == 'run'
12
+ Thread.kill(thread)
12
13
  end
13
14
  rescue StandardError => e
15
+ puts e.inspect
14
16
  config.logger.error(e.inspect)
15
17
  end
16
18
 
@@ -35,7 +35,7 @@ module SplitIoClient
35
35
  @on[:action] = action
36
36
  end
37
37
 
38
- def close(action = Constants::PUSH_NONRETRYABLE_ERROR)
38
+ def close(action = nil)
39
39
  unless connected?
40
40
  @config.logger.error('SSEClient already disconected.') if @config.debug_enabled
41
41
  return
@@ -43,7 +43,8 @@ module SplitIoClient
43
43
 
44
44
  @connected.make_false
45
45
  @socket&.close
46
- dispatch_action(action)
46
+ @config.logger.error('## CLOSE SSE')
47
+ dispatch_action(action) unless action.nil?
47
48
  rescue StandardError => e
48
49
  @config.logger.error("SSEClient close Error: #{e.inspect}")
49
50
  end
@@ -75,12 +76,12 @@ module SplitIoClient
75
76
 
76
77
  def connect_thread(latch)
77
78
  @config.threads[:connect_stream] = Thread.new do
78
- @config.logger.error('# CONNECT THREAD')
79
+ @config.logger.error('## CONNECT THREAD')
79
80
  @config.logger.info('Starting connect_stream thread ...') if @config.debug_enabled
80
- closed_with_exception = connect_stream(latch)
81
- close(closed_with_exception) unless closed_with_exception.nil?
81
+ action = connect_stream(latch)
82
+ dispatch_action(action) unless action.nil?
82
83
  @config.logger.info('connect_stream thread finished.') if @config.debug_enabled
83
- @config.logger.error('# DISCONNECTED THREAD')
84
+ @config.logger.error('#### DISCONNECTED')
84
85
  end
85
86
  end
86
87
 
@@ -193,8 +194,10 @@ module SplitIoClient
193
194
  end
194
195
 
195
196
  def dispatch_action(action)
196
- @config.logger.debug("Dispatching action: #{action}") if @config.debug_enabled
197
- @on[:action].call(action)
197
+ @config.threads[:dispatch_action] = Thread.new do
198
+ @config.logger.debug("Dispatching action: #{action}") if @config.debug_enabled
199
+ @on[:action].call(action)
200
+ end
198
201
  end
199
202
  end
200
203
  end
@@ -31,7 +31,7 @@ module SplitIoClient
31
31
  end
32
32
 
33
33
  def stop
34
- @sse_client.close
34
+ @sse_client.close(Constants::PUSH_NONRETRYABLE_ERROR)
35
35
  stop_workers
36
36
  rescue StandardError => e
37
37
  @config.logger.debug("SSEHandler stop error: #{e.inspect}") if @config.debug_enabled
@@ -1,3 +1,3 @@
1
1
  module SplitIoClient
2
- VERSION = '7.3.3.pre.rc12'
2
+ VERSION = '7.3.3.pre.rc16'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: splitclient-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.3.3.pre.rc12
4
+ version: 7.3.3.pre.rc16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Split Software
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-21 00:00:00.000000000 Z
11
+ date: 2022-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: allocation_stats