splitclient-rb 3.1.3.pre.rc2 → 3.1.3.pre.rc3

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
  SHA1:
3
- metadata.gz: 704da81f022a4136c30b487b798c295d31be82c3
4
- data.tar.gz: b60f220a3a3394490f2a41d9f2b91ddecbe76d2e
3
+ metadata.gz: 668cd82c928db54fb89a78d7d56d2ad0364b328a
4
+ data.tar.gz: 4ac031261f14180902ebcf2bc7eda5ffe2634249
5
5
  SHA512:
6
- metadata.gz: e9b2e954c6eae5635c1f70ef1d2b3310c7807e7d4c4e86f2307eccaee3549b90509cff55e1c4804a70afbb71be1b67540239d285664c9f33f95fab46fbf2493f
7
- data.tar.gz: 127d0862776c94dbb39782385ca66550e7128ca120b735a2e285c1a4b9061f99fc11912b04ee8c0d12b0f796f33c21a49ef3713f22f8586c0b7d302fb3368538
6
+ metadata.gz: f8b29cf657bd7e391147ef7ac86dceaaf3f99f684888b25942941b778e46ec0098d266a37f45cb9c79f17785879786676c5c9c281f3b0b356c8671300a2916f4
7
+ data.tar.gz: c33af8ce108d8ef08e3d62c3f9237ff35481c720e84eb0429bf9536c5506ae527bd487a6a96803f9f8c0cf79ed3af0cbdcd189b989cf455999b4aae7ae4640ee
@@ -17,6 +17,8 @@ module SplitIoClient
17
17
  end
18
18
 
19
19
  def add_split(split)
20
+ return unless split[:name]
21
+
20
22
  @adapter.set_string(namespace_key("split.#{split[:name]}"), split.to_json)
21
23
  end
22
24
 
@@ -11,8 +11,18 @@ module SplitIoClient
11
11
  def call
12
12
  return if ENV['SPLITCLIENT_ENV'] == 'test'
13
13
 
14
- post_metrics
15
-
14
+ metrics_thread
15
+
16
+ if defined?(PhusionPassenger)
17
+ PhusionPassenger.on_event(:starting_worker_process) do |forked|
18
+ metrics_thread if forked
19
+ end
20
+ end
21
+ end
22
+
23
+ private
24
+
25
+ def metrics_thread
16
26
  Thread.new do
17
27
  @config.logger.info('Starting metrics service')
18
28
 
@@ -24,8 +34,6 @@ module SplitIoClient
24
34
  end
25
35
  end
26
36
 
27
- private
28
-
29
37
  def post_metrics
30
38
  metrics_client.post
31
39
  rescue StandardError => error
@@ -16,14 +16,24 @@ module SplitIoClient
16
16
  if ENV['SPLITCLIENT_ENV'] == 'test'
17
17
  store_segments
18
18
  else
19
- @sdk_blocker.segments_thread = Thread.new do
20
- @config.block_until_ready ? blocked_store : unblocked_store
19
+ segments_thread
20
+
21
+ if defined?(PhusionPassenger)
22
+ PhusionPassenger.on_event(:starting_worker_process) do |forked|
23
+ segments_thread if forked
24
+ end
21
25
  end
22
26
  end
23
27
  end
24
28
 
25
29
  private
26
30
 
31
+ def segments_thread
32
+ @sdk_blocker.segments_thread = Thread.new do
33
+ @config.block_until_ready ? blocked_store : unblocked_store
34
+ end
35
+ end
36
+
27
37
  def blocked_store
28
38
  loop do
29
39
  next unless @sdk_blocker.splits_repository.ready?
@@ -16,11 +16,11 @@ module SplitIoClient
16
16
  if ENV['SPLITCLIENT_ENV'] == 'test'
17
17
  store_splits
18
18
  else
19
- @sdk_blocker.splits_thread = Thread.new do
20
- loop do
21
- store_splits
19
+ splits_thread
22
20
 
23
- sleep(random_interval(@config.features_refresh_rate))
21
+ if defined?(PhusionPassenger)
22
+ PhusionPassenger.on_event(:starting_worker_process) do |forked|
23
+ splits_thread if forked
24
24
  end
25
25
  end
26
26
  end
@@ -28,6 +28,16 @@ module SplitIoClient
28
28
 
29
29
  private
30
30
 
31
+ def splits_thread
32
+ @sdk_blocker.splits_thread = Thread.new do
33
+ loop do
34
+ store_splits
35
+
36
+ sleep(random_interval(@config.features_refresh_rate))
37
+ end
38
+ end
39
+ end
40
+
31
41
  def store_splits
32
42
  data = splits_since(@splits_repository.get_change_number)
33
43
 
@@ -22,8 +22,11 @@ module SplitIoClient
22
22
 
23
23
  @splits_repository.splits.each_with_object([]) do |(name, split), memo|
24
24
  split_model = Engine::Models::Split.new(split)
25
+ split_view = build_split_view(name, split)
25
26
 
26
- memo << build_split_view(name, split) unless split_model.archived?
27
+ next if split_view[:name] == nil
28
+
29
+ memo << split_view unless split_model.archived?
27
30
  end
28
31
  end
29
32
 
@@ -1,3 +1,3 @@
1
1
  module SplitIoClient
2
- VERSION = '3.1.3-rc2'
2
+ VERSION = '3.1.3-rc3'
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: 3.1.3.pre.rc2
4
+ version: 3.1.3.pre.rc3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Split Software
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-22 00:00:00.000000000 Z
11
+ date: 2016-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler