sdbcli 1.1.2 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README +1 -0
- data/bin/sdbcli +19 -3
- metadata +1 -1
data/README
CHANGED
@@ -24,6 +24,7 @@ https://bitbucket.org/winebarrel/sdbcli
|
|
24
24
|
--import-replace=DOMAIN,FILE
|
25
25
|
--export=DOMAIN,FILE
|
26
26
|
--retry=NUM
|
27
|
+
--retry-interval=SECOND
|
27
28
|
shell> export AWS_ACCESS_KEY_ID='...'
|
28
29
|
shell> export AWS_SECRET_ACCESS_KEY='...'
|
29
30
|
shell> export SDB_ENDPOINT='sdb.ap-northeast-1.amazonaws.com' # or SDB_REGION=ap-northeast-1
|
data/bin/sdbcli
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
$LOAD_PATH << File.join(File.dirname(__FILE__), '..', 'lib')
|
3
3
|
|
4
|
-
Version = '1.1.
|
4
|
+
Version = '1.1.3'
|
5
5
|
HISTORY_FILE = File.join((ENV['HOME'] || ENV['USERPROFILE'] || '.'), '.sdbcli_history')
|
6
6
|
HISTSIZE = 500
|
7
7
|
SELECT_LIMIT = 2500
|
@@ -25,6 +25,7 @@ $consistent = false
|
|
25
25
|
import = nil
|
26
26
|
export = nil
|
27
27
|
import_export_retry = 3
|
28
|
+
retry_interval = 60
|
28
29
|
timeout = 60
|
29
30
|
|
30
31
|
ARGV.options do |opt|
|
@@ -39,6 +40,7 @@ ARGV.options do |opt|
|
|
39
40
|
opt.on('' , '--import-replace=DOMAIN,FILE') {|v| import = v.split(/\s*,\s*/, 2) + [true] }
|
40
41
|
opt.on('' , '--export=DOMAIN,FILE') {|v| export = v.split(/\s*,\s*/, 2) }
|
41
42
|
opt.on('' , '--retry=NUM', Integer) {|v| import_export_retry = v.to_i }
|
43
|
+
opt.on('' , '--retry-interval=SECOND', Integer) {|v| retry_interval = v.to_i }
|
42
44
|
opt.parse!
|
43
45
|
|
44
46
|
unless access_key_id and secret_access_key and sdb_endpoint
|
@@ -188,11 +190,18 @@ if export
|
|
188
190
|
begin
|
189
191
|
items = $runner.execute(query + query_expr, true, $consistent)
|
190
192
|
break
|
193
|
+
rescue SimpleDB::Error => e
|
194
|
+
if /\AServiceUnavailable:/ =~ e.message
|
195
|
+
raise e if i >= import_export_retry
|
196
|
+
else
|
197
|
+
raise e
|
198
|
+
end
|
191
199
|
rescue Timeout::Error => e
|
192
200
|
raise e if i >= import_export_retry
|
193
201
|
end
|
194
202
|
|
195
|
-
output_error("Retry...", true)
|
203
|
+
output_error("Retry... (wait %d seconds)" % retry_interval, true)
|
204
|
+
sleep retry_interval
|
196
205
|
end
|
197
206
|
|
198
207
|
break if items.empty?
|
@@ -290,11 +299,18 @@ if import
|
|
290
299
|
end
|
291
300
|
|
292
301
|
break
|
302
|
+
rescue SimpleDB::Error => e
|
303
|
+
if /\AServiceUnavailable:/ =~ e.message
|
304
|
+
raise e if i >= import_export_retry
|
305
|
+
else
|
306
|
+
raise e
|
307
|
+
end
|
293
308
|
rescue Timeout::Error => e
|
294
309
|
raise e if i >= import_export_retry
|
295
310
|
end
|
296
311
|
|
297
|
-
output_error("Retry...", true)
|
312
|
+
output_error("Retry... (wait %d seconds)" % retry_interval, true)
|
313
|
+
sleep retry_interval
|
298
314
|
end
|
299
315
|
|
300
316
|
output_error("#{rownum} #{rownum > 1 ? 'rows' : 'row'} was inputted...", true)
|