tapsoob 0.7.13 → 0.7.14

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 62b0fa2aa4627072c35d87e0d8c4b97ae4699c64202dbd8d0e19d83ee7011690
4
- data.tar.gz: 9f52a11706dd4267e295e713bc1a1f481e0dffaccc4cf1f8f80f2d76b3f1a5bb
3
+ metadata.gz: c2dac10255fe54eed67a615eceac52ef21dc58e5652aacd754f334c5b678a2fa
4
+ data.tar.gz: a51cb604a0597e99828ae0f3015b54c6b8816baea04237946cb563e4b81d63ca
5
5
  SHA512:
6
- metadata.gz: ca6fccfeddf8a4145d3ab6713f978985aed283ef7b56e85f5e11ded440acc5c361fb5141e48d1f73d5ce9cde31d10cdbb9dd50841451188d5897421e4953e6f4
7
- data.tar.gz: a941a6160c548246e99c970e3afa03cedd8e76a535ac2bea5c6e76326b2cfccd34a3d9efb08f6f17c681e67e717d5bb65ced17758b2ce2c287242b687ce0cfd7
6
+ metadata.gz: b93c99785aa3b9290142e5245184acb4f8a6721244536127391f94f592b3015f27ea236ddd5282254ee073636313d06b5371648f223d9a4d09c9ca3cb8fec7ec
7
+ data.tar.gz: 1705b7c0d5cbeb47aef0b3724d560251d72aab4621ea82ec11a8a7cd6ec4770d592af18f8ad6e0b98149055168e5f3adc939a478cd532444846895ec7f71848a
@@ -58,21 +58,26 @@ module Tapsoob
58
58
  table = JSON.parse(line, symbolize_names: true)
59
59
  table_name = table[:table_name]
60
60
 
61
- # Truncate table if purge option is enabled
62
- if opts[:purge]
63
- db(database_url, opts)[table_name.to_sym].truncate
64
- end
61
+ begin
62
+ # Truncate table if purge option is enabled
63
+ if opts[:purge]
64
+ db(database_url, opts)[table_name.to_sym].truncate
65
+ end
65
66
 
66
- stream = Tapsoob::DataStream::Base.factory(db(database_url, opts), {
67
- table_name: table_name,
68
- chunksize: opts[:default_chunksize]
69
- }, { :"discard-identity" => opts[:"discard-identity"] || false, :purge => opts[:purge] || false, :debug => opts[:debug] })
67
+ stream = Tapsoob::DataStream::Base.factory(db(database_url, opts), {
68
+ table_name: table_name,
69
+ chunksize: opts[:default_chunksize]
70
+ }, { :"discard-identity" => opts[:"discard-identity"] || false, :purge => opts[:purge] || false, :debug => opts[:debug] })
70
71
 
71
- begin
72
72
  stream.import_rows(table)
73
+ rescue Sequel::DatabaseDisconnectError, Sequel::DatabaseConnectionError => e
74
+ # Connection dropped (e.g. MySQL wait_timeout); reconnect and retry once
75
+ STDERR.puts "Connection lost for #{table_name}, reconnecting... (#{e.message.lines.first.chomp})"
76
+ @db = nil
77
+ retry
73
78
  rescue Exception => e
74
- stream.log.debug e.message
75
- STDERR.puts "Error loading data in #{table_name} : #{e.message}"
79
+ Tapsoob.log.debug e.message
80
+ STDERR.puts "Error loading data in #{table_name} : #{e.message}\n#{e.backtrace.first(5).join("\n")}"
76
81
  end
77
82
  end
78
83
  end
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module Tapsoob
3
- VERSION = "0.7.13".freeze
3
+ VERSION = "0.7.14".freeze
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tapsoob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.13
4
+ version: 0.7.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Félix Bellanger