good_job 3.4.0 → 3.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -0
- data/lib/good_job/notifier.rb +20 -1
- data/lib/good_job/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 38942c9c17765023398fe2a5c2f3dc2c0ebadc799858ed1102bc47bd11d70ed9
|
4
|
+
data.tar.gz: 1dbbff4895a344d948592ec8801e1a325f48b984b66738efdbf785ca4f46f9b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03ac67ff433d1124b3d1dfcb07fb61d9b47393d4dcc8f3341698d5eead8597611009f453ea7cdc09f12cab2b1fbd1a6ed04fcb14fbe532aed8d0ac9fdb9c33f0
|
7
|
+
data.tar.gz: 0d951f8f156fbc47df60271d8f845df9ee93980af9ce3153a81fb8e3c7c0b4f80cbe7f727189be7d06930b97e30b89c65bf7d15fbe39138044979c8c4b319c8d
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [v3.4.1](https://github.com/bensheldon/good_job/tree/v3.4.1) (2022-08-06)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/bensheldon/good_job/compare/v3.4.0...v3.4.1)
|
6
|
+
|
7
|
+
**Closed issues:**
|
8
|
+
|
9
|
+
- Add `cron_enabled` to Process state [\#673](https://github.com/bensheldon/good_job/issues/673)
|
10
|
+
- Good job is using a lot of memory / ram [\#613](https://github.com/bensheldon/good_job/issues/613)
|
11
|
+
- ActiveRecord::StatementInvalid: PG::ConnectionBad: PQsocket\(\) can't get socket descriptor every 30 minutes aprox. [\#579](https://github.com/bensheldon/good_job/issues/579)
|
12
|
+
|
13
|
+
**Merged pull requests:**
|
14
|
+
|
15
|
+
- Only report Notifier connection errors once after they happen 3 consecutive times [\#689](https://github.com/bensheldon/good_job/pull/689) ([bensheldon](https://github.com/bensheldon))
|
16
|
+
|
3
17
|
## [v3.4.0](https://github.com/bensheldon/good_job/tree/v3.4.0) (2022-08-05)
|
4
18
|
|
5
19
|
[Full Changelog](https://github.com/bensheldon/good_job/compare/v3.3.3...v3.4.0)
|
data/lib/good_job/notifier.rb
CHANGED
@@ -40,6 +40,7 @@ module GoodJob # :nodoc:
|
|
40
40
|
PG::UnableToSend
|
41
41
|
PG::Error
|
42
42
|
].freeze
|
43
|
+
CONNECTION_ERRORS_REPORTING_THRESHOLD = 3
|
43
44
|
|
44
45
|
# @!attribute [r] instances
|
45
46
|
# @!scope class
|
@@ -70,6 +71,8 @@ module GoodJob # :nodoc:
|
|
70
71
|
def initialize(*recipients)
|
71
72
|
@recipients = Concurrent::Array.new(recipients)
|
72
73
|
@listening = Concurrent::AtomicBoolean.new(false)
|
74
|
+
@connection_errors_count = Concurrent::AtomicFixnum.new(0)
|
75
|
+
@connection_errors_reported = Concurrent::AtomicBoolean.new(false)
|
73
76
|
|
74
77
|
self.class.instances << self
|
75
78
|
|
@@ -128,7 +131,6 @@ module GoodJob # :nodoc:
|
|
128
131
|
# @return [void]
|
129
132
|
def listen_observer(_time, _result, thread_error)
|
130
133
|
if thread_error
|
131
|
-
GoodJob._on_thread_error(thread_error)
|
132
134
|
ActiveSupport::Notifications.instrument("notifier_notify_error.good_job", { error: thread_error })
|
133
135
|
|
134
136
|
connection_error = CONNECTION_ERRORS.any? do |error_string|
|
@@ -137,6 +139,16 @@ module GoodJob # :nodoc:
|
|
137
139
|
|
138
140
|
thread_error.is_a? error_class
|
139
141
|
end
|
142
|
+
|
143
|
+
if connection_error
|
144
|
+
@connection_errors_count.increment
|
145
|
+
if @connection_errors_reported.false? && @connection_errors_count.value >= CONNECTION_ERRORS_REPORTING_THRESHOLD
|
146
|
+
GoodJob._on_thread_error(thread_error)
|
147
|
+
@connection_errors_reported.make_true
|
148
|
+
end
|
149
|
+
else
|
150
|
+
GoodJob._on_thread_error(thread_error)
|
151
|
+
end
|
140
152
|
end
|
141
153
|
|
142
154
|
return if shutdown?
|
@@ -175,6 +187,8 @@ module GoodJob # :nodoc:
|
|
175
187
|
target.send(method_name, parsed_payload)
|
176
188
|
end
|
177
189
|
end
|
190
|
+
|
191
|
+
reset_connection_errors
|
178
192
|
end
|
179
193
|
end
|
180
194
|
end
|
@@ -223,5 +237,10 @@ module GoodJob # :nodoc:
|
|
223
237
|
sleep WAIT_INTERVAL
|
224
238
|
end
|
225
239
|
end
|
240
|
+
|
241
|
+
def reset_connection_errors
|
242
|
+
@connection_errors_count.value = 0
|
243
|
+
@connection_errors_reported.make_false
|
244
|
+
end
|
226
245
|
end
|
227
246
|
end
|
data/lib/good_job/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: good_job
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.4.
|
4
|
+
version: 3.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Sheldon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-08-
|
11
|
+
date: 2022-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activejob
|