priam 0.1.2 → 0.1.3

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.
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: