consistent-cluster 1.0.2 → 1.0.3

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: 1a619832f972391c4026f17d7b373eee628a84dd
4
- data.tar.gz: b84b0dcf405366e3caec3ed2968e775d54e7e875
3
+ metadata.gz: 2b9a381e3ba8ba30496deec02f82acb44f03c608
4
+ data.tar.gz: d91a5fe213f3fc911c8e8dae829b8489b020d632
5
5
  SHA512:
6
- metadata.gz: 4930145efffb208b04d2525f01f6821dfee4d26c18f3ec8a578ea56c7d98aa0c12ecf045929e8f1458d94fa33c7b18ff9e36602bf15f61764d8319da74879465
7
- data.tar.gz: cdc9c0018a311e9ce11b5a8a40049edcd3d63b568d09a9e391de8e0d233bf395cd665f1cc7559f2d2342ca8e25b7a11810126f14520f734932e202573142576b
6
+ metadata.gz: 24a73b4697edc754ca7ca59ca039534540f16da968050ada4f5a80b01fd28cc650e2a8e08dd445732c57c34f5923293d8312190e5cccb92edd2c2c2a9099ee90
7
+ data.tar.gz: a8b4369cf7f64d8b597ad75004f93c1f6b96e4d578f596de8ceb43d3a7ea58387a22cbe7cbcb17e9a1794af46b44d324d81439f4d4a90c9d2a5b9280d5c5cd86
@@ -10,8 +10,6 @@ module ConsistentCluster
10
10
  class SyncClient
11
11
 
12
12
  def initialize(options)
13
- @zk = ZK.new(options[:zookeeper_service])
14
- @path = options[:zookeeper_path]
15
13
 
16
14
  @data = {}
17
15
  @cluster = {}
@@ -25,6 +23,10 @@ module ConsistentCluster
25
23
  @after_sync_proc = options[:after_sync_proc]
26
24
 
27
25
  @to_sync,@syncing = false,false
26
+
27
+ @path = options[:zookeeper_path]
28
+
29
+ @zk = ZK.new(options[:zookeeper_service],reconnect: true)
28
30
 
29
31
  @zk.register(@path) do |event|
30
32
  sync_services
@@ -32,9 +34,23 @@ module ConsistentCluster
32
34
 
33
35
  sync_services
34
36
 
37
+ #on_state_change
38
+ #on_connecting
39
+ #on_expired_session
40
+ @zk.on_connected do
41
+ reconnect_callback
42
+ end
43
+
35
44
  @shard_num = 0
36
45
  end
37
46
 
47
+ def reconnect_callback
48
+ case @zk.state
49
+ when :connected
50
+ sync_services
51
+ end
52
+ end
53
+
38
54
  def shard(key=nil)
39
55
  cluster_sum = @cluster.length
40
56
  raise "no service available at #{@path}" if cluster_sum < 1
@@ -1,3 +1,3 @@
1
1
  module ConsistentCluster
2
- Version = "1.0.2"
2
+ Version = "1.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: consistent-cluster
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - jeffrey6052
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-21 00:00:00.000000000 Z
11
+ date: 2015-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: atomic
@@ -24,7 +24,7 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.1'
27
- description: "用于整合服务集群接口,方便客户端调用; 调用方式包含一致性哈希逻辑,轮询逻辑; 支持绑定zookeeper,同步集群配置"
27
+ description: 用于整合服务集群接口,方便客户端调用; 调用方式包含一致性哈希逻辑,轮询逻辑; 支持绑定zookeeper,同步集群配置
28
28
  email:
29
29
  - jeffrey6052@163.com
30
30
  executables: []
@@ -65,5 +65,5 @@ rubyforge_project:
65
65
  rubygems_version: 2.2.2
66
66
  signing_key:
67
67
  specification_version: 4
68
- summary: "一致性哈希集群"
68
+ summary: 一致性哈希集群
69
69
  test_files: []