reminder-client 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/reminder-client/configcenter.rb +68 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e4b20dadedd3af348a6f852daa7d2259dcf7b16
|
4
|
+
data.tar.gz: e6d69823fb71b2f49a59c03c941cfad7935376ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5716c61a67bd93fe1a5055f074491d04a0cc5c3a6066f850eb92544e4836f44d07793e78d5c5a0c3f2de0b8bfcad5adce4f597a1b863cc838521152393d3457
|
7
|
+
data.tar.gz: 3d0be3d23fb5c46d64bb6bbf1b1c78542e7cb02efe89d68bd7923dad9072cba6ed442896012f2662b7f5f53d09395365e682f54d8f9302447281a69df5d2bad4
|
@@ -4,6 +4,18 @@ require 'zookeeper'
|
|
4
4
|
require 'eventmachine'
|
5
5
|
require 'zk'
|
6
6
|
|
7
|
+
# Public: Create a Zk instence and connect, the following
|
8
|
+
# relaying on it, it will block until connected successfully.
|
9
|
+
#
|
10
|
+
# options - The import hash include zk_address
|
11
|
+
#
|
12
|
+
# Examples
|
13
|
+
#
|
14
|
+
# Zoo.new({ :zk_address => "192.168.1.172:2181" })
|
15
|
+
# Zoo.new({ zk_address: "192.168.1.172:2181" })
|
16
|
+
# # => nil
|
17
|
+
#
|
18
|
+
# Returns a Zoo instance.
|
7
19
|
class Zoo
|
8
20
|
def initialize(options)
|
9
21
|
p "start connect to #{options[:zk_address]}"
|
@@ -22,8 +34,20 @@ class Zoo
|
|
22
34
|
puts "init succ #{@zk}"
|
23
35
|
end
|
24
36
|
|
25
|
-
|
26
|
-
#
|
37
|
+
|
38
|
+
# Public: zk server found server part, and it will create a ephemeral path
|
39
|
+
# with current server's service ip, address, or so on.
|
40
|
+
#
|
41
|
+
# option - The hash :ip_port -> service address .eg "192.168.3.1:2222".
|
42
|
+
# child(option) - The sub-path name.
|
43
|
+
#
|
44
|
+
# Examples
|
45
|
+
#
|
46
|
+
# server_found_server({ server_found_base_path = "/stat-server" })
|
47
|
+
# server_found_server({ server_found_base_path = "/stat-server" }, "child")
|
48
|
+
# # => nil
|
49
|
+
#
|
50
|
+
# Returns nil.
|
27
51
|
def server_found_server(option, child = 'default')
|
28
52
|
#fork do
|
29
53
|
# @zk.reopen()
|
@@ -32,7 +56,20 @@ class Zoo
|
|
32
56
|
#end
|
33
57
|
end
|
34
58
|
|
35
|
-
|
59
|
+
|
60
|
+
# Public: server found client part.
|
61
|
+
#
|
62
|
+
# server_path - The String (zk's path) to be watched.
|
63
|
+
# block - The callback to be call when the server_path to be watched changed.
|
64
|
+
#
|
65
|
+
# Examples
|
66
|
+
#
|
67
|
+
# server_found_client('/stat-service'){ | iplist, load_balance |
|
68
|
+
# puts iplist
|
69
|
+
# puts load_balance
|
70
|
+
# }
|
71
|
+
# # => nil
|
72
|
+
#
|
36
73
|
def server_found_client(server_path, &block)
|
37
74
|
puts "zk server_found start watching on #{server_path}"
|
38
75
|
relist = @zk.children(server_path, :watch => true)
|
@@ -57,6 +94,18 @@ class Zoo
|
|
57
94
|
end
|
58
95
|
end
|
59
96
|
|
97
|
+
# Private: Internal function, get each sub path's data.
|
98
|
+
#
|
99
|
+
# server_path - The String to be duplicated.
|
100
|
+
# relist - The Integer number of times to duplicate the text.
|
101
|
+
#
|
102
|
+
# Examples
|
103
|
+
#
|
104
|
+
# get_ip_from_server('/server-stat', ['default0000001', 'default0000002'
|
105
|
+
# , 'default0000003'])
|
106
|
+
# # => ['192.168.2.220:2222', '192.168.2.220:3333', '192.168.2.222:4444']
|
107
|
+
#
|
108
|
+
# Returns the ip list.
|
60
109
|
def get_ip_from_server(server_path, relist)
|
61
110
|
list = []
|
62
111
|
relist.each { |child|
|
@@ -69,7 +118,22 @@ class Zoo
|
|
69
118
|
list.uniq
|
70
119
|
end
|
71
120
|
|
72
|
-
|
121
|
+
# Public: The serverConfig client part
|
122
|
+
#
|
123
|
+
# config_path - The config_path of zk tobe watched.
|
124
|
+
# group - The group of the service
|
125
|
+
# block - The callback to be call when the config_path to be watched changed.
|
126
|
+
#
|
127
|
+
#
|
128
|
+
# Examples
|
129
|
+
#
|
130
|
+
# server_config_client('/config/server-stat', 'stat-service', 1){ |configdata|
|
131
|
+
# puts configdata
|
132
|
+
# }
|
133
|
+
# # => nil
|
134
|
+
#
|
135
|
+
# Returns nil.
|
136
|
+
def server_config_client(config_path, group, &block)
|
73
137
|
puts "zk server_config start watching on #{config_path}"
|
74
138
|
|
75
139
|
# get server config for the first time
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reminder-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- caorong
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-03-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: zk
|
@@ -57,7 +57,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
57
57
|
version: '0'
|
58
58
|
requirements: []
|
59
59
|
rubyforge_project:
|
60
|
-
rubygems_version: 2.2.
|
60
|
+
rubygems_version: 2.2.2
|
61
61
|
signing_key:
|
62
62
|
specification_version: 4
|
63
63
|
summary: A zookeeper client wrapper provide serverfound and serverconfig.
|