good_job 4.10.1 → 4.11.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 +4 -4
- data/CHANGELOG.md +28 -0
- data/README.md +2 -2
- data/app/controllers/good_job/jobs_controller.rb +2 -2
- data/lib/good_job/adapter.rb +9 -0
- data/lib/good_job/probe_server/simple_handler.rb +9 -3
- data/lib/good_job/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3ea0d288f72729d06fa912bb31fc26fdb95be09488347ae1f2e1de091f9517b3
|
4
|
+
data.tar.gz: f613ddf4c9eb310f2e7f382309c3084cf283b62681a38c57446a3816855dbe14
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1eb544531de26bf4f483b0b3d19d9f035e198343da429c97ad3db94c604da29d3d5f74c0cdf50a6712e02bf97bbede278ac48dc0c6572b5d6c447d27dd5e2760
|
7
|
+
data.tar.gz: 8ad6d26f2bf94c545e3630cd3e06f7fc7975943233dd49468358f252c2ad827c6871c65a8cec3bd6f19d430a472a5a84b820d84be17e195e07e6dd3fe5033b45
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,33 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [v4.11.0](https://github.com/bensheldon/good_job/tree/v4.11.0) (2025-06-30)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/bensheldon/good_job/compare/v4.10.2...v4.11.0)
|
6
|
+
|
7
|
+
**Implemented enhancements:**
|
8
|
+
|
9
|
+
- Add GoodJob::Adapter\#stopping to support Active Job continuations feature [\#1646](https://github.com/bensheldon/good_job/pull/1646) ([bensheldon](https://github.com/bensheldon))
|
10
|
+
|
11
|
+
**Merged pull requests:**
|
12
|
+
|
13
|
+
- Fix Probe Server handling server shutdown on SIGINT when daemonized [\#1644](https://github.com/bensheldon/good_job/pull/1644) ([bensheldon](https://github.com/bensheldon))
|
14
|
+
|
15
|
+
## [v4.10.2](https://github.com/bensheldon/good_job/tree/v4.10.2) (2025-05-29)
|
16
|
+
|
17
|
+
[Full Changelog](https://github.com/bensheldon/good_job/compare/v4.10.1...v4.10.2)
|
18
|
+
|
19
|
+
**Fixed bugs:**
|
20
|
+
|
21
|
+
- Fix Dashboard retries by wrapping in original/application locale [\#1643](https://github.com/bensheldon/good_job/pull/1643) ([bensheldon](https://github.com/bensheldon))
|
22
|
+
|
23
|
+
**Closed issues:**
|
24
|
+
|
25
|
+
- I18n::InvalidLocale in GoodJob::JobsController\#mass\_update [\#1641](https://github.com/bensheldon/good_job/issues/1641)
|
26
|
+
|
27
|
+
**Merged pull requests:**
|
28
|
+
|
29
|
+
- Fix the path for the extended dashboard views in README.md [\#1638](https://github.com/bensheldon/good_job/pull/1638) ([zarembas](https://github.com/zarembas))
|
30
|
+
|
3
31
|
## [v4.10.1](https://github.com/bensheldon/good_job/tree/v4.10.1) (2025-05-20)
|
4
32
|
|
5
33
|
[Full Changelog](https://github.com/bensheldon/good_job/compare/v4.10.0...v4.10.1)
|
data/README.md
CHANGED
@@ -470,8 +470,8 @@ The Dashboard can be set to automatically refresh by checking "Live Poll" in the
|
|
470
470
|
|
471
471
|
GoodJob exposes some views that are intended to be overriden by placing views in your application:
|
472
472
|
|
473
|
-
- [`app/views/good_job/
|
474
|
-
- [`app/views/good_job/
|
473
|
+
- [`app/views/good_job/_custom_job_details.html.erb`](app/views/good_job/_custom_job_details.html.erb): content added to this partial will be displayed above the argument list on the good_job/jobs#show page.
|
474
|
+
- [`app/views/good_job/_custom_execution_details.html.erb`](app/views/good_job/_custom_execution_details.html.erb): content added to this partial will be displayed above each execution on the good_job/jobs#show page.
|
475
475
|
|
476
476
|
**Warning:** these partials expose classes (such as `GoodJob::Job`) that are considered internal implementation details of GoodJob. You should always test your custom partials after upgrading GoodJob.
|
477
477
|
|
@@ -38,7 +38,7 @@ module GoodJob
|
|
38
38
|
when :reschedule
|
39
39
|
job.reschedule_job
|
40
40
|
when :retry
|
41
|
-
job.retry_job
|
41
|
+
use_original_locale { job.retry_job }
|
42
42
|
when :destroy
|
43
43
|
job.destroy_job
|
44
44
|
end
|
@@ -84,7 +84,7 @@ module GoodJob
|
|
84
84
|
|
85
85
|
def retry
|
86
86
|
@job = Job.find(params[:id])
|
87
|
-
@job.retry_job
|
87
|
+
use_original_locale { @job.retry_job }
|
88
88
|
redirect_back(fallback_location: jobs_path, notice: t(".notice"))
|
89
89
|
end
|
90
90
|
|
data/lib/good_job/adapter.rb
CHANGED
@@ -173,6 +173,15 @@ module GoodJob
|
|
173
173
|
end
|
174
174
|
end
|
175
175
|
|
176
|
+
# Whether the current job execution thread is shutting down.
|
177
|
+
# This is intended to be called from within the context of a performing job.
|
178
|
+
# Jobs can call this while performing via `queue_adapter.stopping?` to support
|
179
|
+
# job continuations/iterations.
|
180
|
+
# @return [Boolean]
|
181
|
+
def stopping?
|
182
|
+
GoodJob.current_thread_shutting_down?
|
183
|
+
end
|
184
|
+
|
176
185
|
# Shut down the thread pool executors.
|
177
186
|
# @param timeout [nil, Numeric, NONE] Seconds to wait for active threads.
|
178
187
|
# * +nil+ trigger a shutdown but not wait for it to complete.
|
@@ -33,7 +33,7 @@ module GoodJob
|
|
33
33
|
start_server
|
34
34
|
handle_connections if @running.true?
|
35
35
|
rescue StandardError => e
|
36
|
-
@logger.error "Server encountered an error: #{e}"
|
36
|
+
@logger.error "Server encountered an error: #{e.class} - #{e}"
|
37
37
|
ensure
|
38
38
|
stop
|
39
39
|
end
|
@@ -60,8 +60,14 @@ module GoodJob
|
|
60
60
|
end
|
61
61
|
|
62
62
|
client.close
|
63
|
-
rescue IO::WaitReadable, Errno::EINTR
|
64
|
-
retry
|
63
|
+
rescue IO::WaitReadable, Errno::EINTR
|
64
|
+
retry # on transient errors
|
65
|
+
rescue Errno::EPIPE
|
66
|
+
next # Client disconnected - continue
|
67
|
+
rescue Errno::EBADF
|
68
|
+
break if @server&.closed? # Server shut down - stop
|
69
|
+
|
70
|
+
raise
|
65
71
|
end
|
66
72
|
end
|
67
73
|
end
|
data/lib/good_job/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: good_job
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Sheldon
|
8
8
|
bindir: exe
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 2025-06-30 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: activejob
|
@@ -240,9 +240,9 @@ executables:
|
|
240
240
|
- good_job
|
241
241
|
extensions: []
|
242
242
|
extra_rdoc_files:
|
243
|
+
- README.md
|
243
244
|
- CHANGELOG.md
|
244
245
|
- LICENSE.txt
|
245
|
-
- README.md
|
246
246
|
files:
|
247
247
|
- CHANGELOG.md
|
248
248
|
- LICENSE.txt
|
@@ -421,7 +421,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
421
421
|
- !ruby/object:Gem::Version
|
422
422
|
version: '0'
|
423
423
|
requirements: []
|
424
|
-
rubygems_version: 3.6.
|
424
|
+
rubygems_version: 3.6.2
|
425
425
|
specification_version: 4
|
426
426
|
summary: A multithreaded, Postgres-based ActiveJob backend for Ruby on Rails
|
427
427
|
test_files: []
|