priam 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.1.3
@@ -9,6 +9,8 @@ module Priam::Command
9
9
  super_column = params[:super_column]
10
10
  name = params[:value_column]
11
11
  with_key_flag = params[:with_key_flag]
12
+ weight_second = params[:weight_second]
13
+ retry_max_count = params[:retry_max_count]
12
14
 
13
15
  client = Cassandra.new(keyspace, "#{host}:#{port}")
14
16
 
@@ -26,21 +28,35 @@ module Priam::Command
26
28
  next
27
29
  end
28
30
 
29
- record = Priam.get_column(client, column_family, super_column, key, params)
31
+ retry_count = 0
32
+ begin
33
+ record = Priam.get_column(client, column_family, super_column, key, params)
30
34
 
31
- if with_key_flag
32
- output_stream.print "#{key}\t"
33
- end
34
-
35
- if name then
36
- output_stream.puts "#{record[name]}"
37
- else
38
- output_stream.puts record.to_json
39
- end
40
- count += 1
41
- if count % 10 == 0 then
42
- Priam.logger.info " GET [#{key_list.join(',')}]"
43
- key_list.clear
35
+ if with_key_flag
36
+ output_stream.print "#{key}\t"
37
+ end
38
+
39
+ if name then
40
+ output_stream.puts "#{record[name]}"
41
+ else
42
+ output_stream.puts record.to_json
43
+ end
44
+ count += 1
45
+ if count % 10 == 0 then
46
+ Priam.logger.info " GET [#{key_list.join(',')}]"
47
+ key_list.clear
48
+ end
49
+ retry_count = 0
50
+ rescue Exception=>e
51
+ if retry_count < retry_max_count
52
+ Priam.logger.warn("(EXCEPTION)#{e.message}(#{e.class.name}): #{e.backtrace.map{|s| " #{s}"}.join("\n")}")
53
+ Priam.logger.warn("retry(#{retry_count})")
54
+ retry_count += 1
55
+ sleep(weight_second)
56
+ retry
57
+ else
58
+ raise e
59
+ end
44
60
  end
45
61
  end
46
62
 
@@ -6,7 +6,7 @@ module Priam::Core
6
6
  raise_exception_flag = false
7
7
 
8
8
  unit_size = 10000
9
- retry_max_count = 0
9
+ retry_max_count = 5
10
10
  weight_second = 1
11
11
 
12
12
  check_exist_flag = false
data/priam.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "priam"
8
- s.version = "0.1.2"
8
+ s.version = "0.1.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kenji Hara"]
12
- s.date = "2013-02-25"
12
+ s.date = "2013-03-27"
13
13
  s.description = "Command-base client for Cassandra."
14
14
  s.email = "haracane@gmail.com"
15
15
  s.executables = ["priam"]
@@ -9,7 +9,8 @@ describe Priam::Core::Common do
9
9
  result[:port].should == 9160
10
10
  result[:raise_exception_flag].should == false
11
11
  result[:value_column].should == nil
12
- result[:retry_max_count].should == 0
12
+ result[:retry_max_count].should == 5
13
+ result[:weight_second].should == 1
13
14
  result[:check_exist_flag].should == false
14
15
  result[:output_keys_flag].should == false
15
16
  result[:replication_factor].should == 1
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: priam
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Kenji Hara
@@ -15,10 +15,9 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2013-02-25 00:00:00 Z
18
+ date: 2013-03-27 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- prerelease: false
22
21
  requirement: &id001 !ruby/object:Gem::Requirement
23
22
  none: false
24
23
  requirements:
@@ -30,11 +29,11 @@ dependencies:
30
29
  - 7
31
30
  - 0
32
31
  version: 0.7.0
33
- type: :runtime
34
- name: thrift
35
32
  version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
33
+ name: thrift
37
34
  prerelease: false
35
+ type: :runtime
36
+ - !ruby/object:Gem::Dependency
38
37
  requirement: &id002 !ruby/object:Gem::Requirement
39
38
  none: false
40
39
  requirements:
@@ -46,11 +45,11 @@ dependencies:
46
45
  - 7
47
46
  - 1
48
47
  version: 0.7.1
49
- type: :runtime
50
- name: thrift_client
51
48
  version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
49
+ name: thrift_client
53
50
  prerelease: false
51
+ type: :runtime
52
+ - !ruby/object:Gem::Dependency
54
53
  requirement: &id003 !ruby/object:Gem::Requirement
55
54
  none: false
56
55
  requirements:
@@ -62,11 +61,11 @@ dependencies:
62
61
  - 2
63
62
  - 0
64
63
  version: 0.2.0
65
- type: :runtime
66
- name: simple_uuid
67
64
  version_requirements: *id003
68
- - !ruby/object:Gem::Dependency
65
+ name: simple_uuid
69
66
  prerelease: false
67
+ type: :runtime
68
+ - !ruby/object:Gem::Dependency
70
69
  requirement: &id004 !ruby/object:Gem::Requirement
71
70
  none: false
72
71
  requirements:
@@ -78,11 +77,11 @@ dependencies:
78
77
  - 12
79
78
  - 1
80
79
  version: 0.12.1
81
- type: :runtime
82
- name: cassandra
83
80
  version_requirements: *id004
84
- - !ruby/object:Gem::Dependency
81
+ name: cassandra
85
82
  prerelease: false
83
+ type: :runtime
84
+ - !ruby/object:Gem::Dependency
86
85
  requirement: &id005 !ruby/object:Gem::Requirement
87
86
  none: false
88
87
  requirements:
@@ -94,11 +93,11 @@ dependencies:
94
93
  - 6
95
94
  - 5
96
95
  version: 1.6.5
97
- type: :runtime
98
- name: json
99
96
  version_requirements: *id005
100
- - !ruby/object:Gem::Dependency
97
+ name: json
101
98
  prerelease: false
99
+ type: :runtime
100
+ - !ruby/object:Gem::Dependency
102
101
  requirement: &id006 !ruby/object:Gem::Requirement
103
102
  none: false
104
103
  requirements:
@@ -110,11 +109,11 @@ dependencies:
110
109
  - 8
111
110
  - 0
112
111
  version: 2.8.0
113
- type: :development
114
- name: rspec
115
112
  version_requirements: *id006
116
- - !ruby/object:Gem::Dependency
113
+ name: rspec
117
114
  prerelease: false
115
+ type: :development
116
+ - !ruby/object:Gem::Dependency
118
117
  requirement: &id007 !ruby/object:Gem::Requirement
119
118
  none: false
120
119
  requirements:
@@ -125,11 +124,11 @@ dependencies:
125
124
  - 3
126
125
  - 12
127
126
  version: "3.12"
128
- type: :development
129
- name: rdoc
130
127
  version_requirements: *id007
131
- - !ruby/object:Gem::Dependency
128
+ name: rdoc
132
129
  prerelease: false
130
+ type: :development
131
+ - !ruby/object:Gem::Dependency
133
132
  requirement: &id008 !ruby/object:Gem::Requirement
134
133
  none: false
135
134
  requirements:
@@ -141,11 +140,11 @@ dependencies:
141
140
  - 0
142
141
  - 0
143
142
  version: 1.0.0
144
- type: :development
145
- name: bundler
146
143
  version_requirements: *id008
147
- - !ruby/object:Gem::Dependency
144
+ name: bundler
148
145
  prerelease: false
146
+ type: :development
147
+ - !ruby/object:Gem::Dependency
149
148
  requirement: &id009 !ruby/object:Gem::Requirement
150
149
  none: false
151
150
  requirements:
@@ -157,11 +156,11 @@ dependencies:
157
156
  - 8
158
157
  - 4
159
158
  version: 1.8.4
160
- type: :development
161
- name: jeweler
162
159
  version_requirements: *id009
163
- - !ruby/object:Gem::Dependency
160
+ name: jeweler
164
161
  prerelease: false
162
+ type: :development
163
+ - !ruby/object:Gem::Dependency
165
164
  requirement: &id010 !ruby/object:Gem::Requirement
166
165
  none: false
167
166
  requirements:
@@ -171,11 +170,11 @@ dependencies:
171
170
  segments:
172
171
  - 0
173
172
  version: "0"
174
- type: :development
175
- name: rcov
176
173
  version_requirements: *id010
177
- - !ruby/object:Gem::Dependency
174
+ name: rcov
178
175
  prerelease: false
176
+ type: :development
177
+ - !ruby/object:Gem::Dependency
179
178
  requirement: &id011 !ruby/object:Gem::Requirement
180
179
  none: false
181
180
  requirements:
@@ -187,11 +186,11 @@ dependencies:
187
186
  - 7
188
187
  - 0
189
188
  version: 1.7.0
190
- type: :development
191
- name: ci_reporter
192
189
  version_requirements: *id011
193
- - !ruby/object:Gem::Dependency
190
+ name: ci_reporter
194
191
  prerelease: false
192
+ type: :development
193
+ - !ruby/object:Gem::Dependency
195
194
  requirement: &id012 !ruby/object:Gem::Requirement
196
195
  none: false
197
196
  requirements:
@@ -203,9 +202,10 @@ dependencies:
203
202
  - 2
204
203
  - 0
205
204
  version: 3.2.0
206
- type: :development
207
- name: flog
208
205
  version_requirements: *id012
206
+ name: flog
207
+ prerelease: false
208
+ type: :development
209
209
  description: Command-base client for Cassandra.
210
210
  email: haracane@gmail.com
211
211
  executables: