hutch-error_handlers-reconnect_active_record 0.0.0
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 +7 -0
- data/lib/hutch/error_handlers/reconnect_active_record.rb +32 -0
- metadata +72 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 931ca32a89a0c3daf6dcb50481a0d2be423fe51f8200b8eae57ff4b524170ac5
|
4
|
+
data.tar.gz: 7be20f538938a93bbe650e0f722fbc8fd8d78f14f36cb4e71b3ec3967e354568
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a3601b2ab7343a6cde258aca46fa3d25a57aa9a199fca7ce9c53019e7347890b12d0c8c9a4cdb1df4d69da0e40760380b6bb01cf485ba343ba8e8fef337b0201
|
7
|
+
data.tar.gz: c555066546f1f92a4bf5a0bb63513c89b7f843eb988b13481cfdbef4ac62e134bebcf95519f1a16a068413f1d24a1d3e3b5923b9cfac5fd4faff8eca772e627d
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'hutch/logging'
|
2
|
+
require 'hutch/error_handlers/base'
|
3
|
+
|
4
|
+
module Hutch
|
5
|
+
module ErrorHandlers
|
6
|
+
class ReconnectActiveRecord < ErrorHandlers::Base
|
7
|
+
|
8
|
+
def handle(properties, payload, consumer, ex)
|
9
|
+
return unless active_record_exception? ex
|
10
|
+
|
11
|
+
logger.info "[Reconnect] Got Active RecordException, message: #{ex.message}"
|
12
|
+
logger.info '[Reconnect] Attempting to reconnect'
|
13
|
+
|
14
|
+
ActiveRecord::Base.connection.reconnect!
|
15
|
+
logger.info '[Reconnect] Reconnect successful'
|
16
|
+
rescue exception
|
17
|
+
logger.error "[Reconnect] Unable to reconnect"
|
18
|
+
logger.error "[Reconnect] #{exception.class} - #{exception.message}"
|
19
|
+
end
|
20
|
+
|
21
|
+
# Does not seem to be used at all, but the base does define this method
|
22
|
+
def handle_setup_exception(ex)
|
23
|
+
logger.error "[Reconnect] #{ex.class} - #{ex.message}"
|
24
|
+
logger.error (['backtrace:'] + ex.backtrace).join("\n")
|
25
|
+
end
|
26
|
+
|
27
|
+
def active_record_exception?(ex)
|
28
|
+
ex.instance_of? ActiveRecord::StatementInvalid
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
metadata
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: hutch-error_handlers-reconnect_active_record
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Hélio Nagamachi
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-09-27 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: hutch
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activerecord
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '6.1'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '6.1'
|
41
|
+
description: Add this to your hutch config to try to reconnect whenever there is an
|
42
|
+
error with ActiveRecord
|
43
|
+
email: 69481759+helionagamachi-basement@users.noreply.github.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- lib/hutch/error_handlers/reconnect_active_record.rb
|
49
|
+
homepage: https://github.com/basement-io/hutch-error-handlers-reconnect-active-record
|
50
|
+
licenses:
|
51
|
+
- MIT
|
52
|
+
metadata: {}
|
53
|
+
post_install_message:
|
54
|
+
rdoc_options: []
|
55
|
+
require_paths:
|
56
|
+
- lib
|
57
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
67
|
+
requirements: []
|
68
|
+
rubygems_version: 3.0.3
|
69
|
+
signing_key:
|
70
|
+
specification_version: 4
|
71
|
+
summary: Try to reconnect the active record connection in case of errors
|
72
|
+
test_files: []
|