sdbcli 1.1.2 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README +1 -0
  2. data/bin/sdbcli +19 -3
  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.2'
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)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sdbcli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: