sdbcli 1.1.2 → 1.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.
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: