good_job 3.15.0 → 3.15.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +42 -0
- data/README.md +1 -0
- data/app/controllers/good_job/application_controller.rb +3 -1
- data/config/locales/fr.yml +4 -4
- data/config/locales/nl.yml +2 -2
- data/lib/good_job/adapter.rb +1 -0
- data/lib/good_job/cli.rb +1 -1
- data/lib/good_job/version.rb +1 -1
- data/lib/good_job.rb +20 -9
- 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: 4674d611fd466270ee2bb79b4763848bced81ed16ae227dc05e0daca00b5672e
|
4
|
+
data.tar.gz: 40dda31aa1e21e6b16e4f2582354d572af271ebe270b80e6cbfceec95873f5da
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73ae44f8b88e70d4cfd98473920af572320157432f121b437f99718ca2182fa88d98b7f3dd4a3aec0319b6f2ddd51eb5eed1fe0290f94b605a4b9b7fedf53cc6
|
7
|
+
data.tar.gz: 932c23ebe5722a3a8d7638db77bfeefd350c219a071b8b96982cd19ad78319c2ddd3f7b178d3ebb59b7d670caf7b265c01b254c2481d13a7a6f0521f0d172c82
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,47 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [v3.15.2](https://github.com/bensheldon/good_job/tree/v3.15.2) (2023-04-19)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.1...v3.15.2)
|
6
|
+
|
7
|
+
**Closed issues:**
|
8
|
+
|
9
|
+
- Cleaning up preserved jobs giving me timeout [\#933](https://github.com/bensheldon/good_job/issues/933)
|
10
|
+
- uninitialized constant GoodJob::ActiveJobJob \(NameError\) [\#932](https://github.com/bensheldon/good_job/issues/932)
|
11
|
+
|
12
|
+
**Merged pull requests:**
|
13
|
+
|
14
|
+
- Use batched queries in `GoodJob::self.cleanup_preserved_jobs` [\#934](https://github.com/bensheldon/good_job/pull/934) ([bensheldon](https://github.com/bensheldon))
|
15
|
+
- Bump nokogiri from 1.14.2 to 1.14.3 [\#926](https://github.com/bensheldon/good_job/pull/926) ([dependabot[bot]](https://github.com/apps/dependabot))
|
16
|
+
|
17
|
+
## [v3.15.1](https://github.com/bensheldon/good_job/tree/v3.15.1) (2023-04-17)
|
18
|
+
|
19
|
+
[Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.0...v3.15.1)
|
20
|
+
|
21
|
+
**Implemented enhancements:**
|
22
|
+
|
23
|
+
- Support for Batches? [\#417](https://github.com/bensheldon/good_job/issues/417)
|
24
|
+
|
25
|
+
**Fixed bugs:**
|
26
|
+
|
27
|
+
- Fix setting of locale via routes `mount ... defaults: { locale: :en }` [\#923](https://github.com/bensheldon/good_job/pull/923) ([bensheldon](https://github.com/bensheldon))
|
28
|
+
- Set `successfully_enqueued?` when using `perform_all_later` [\#917](https://github.com/bensheldon/good_job/pull/917) ([bensheldon](https://github.com/bensheldon))
|
29
|
+
|
30
|
+
**Closed issues:**
|
31
|
+
|
32
|
+
- GoodJob has pending database migrations after v2 -\> v3 [\#920](https://github.com/bensheldon/good_job/issues/920)
|
33
|
+
- Batch docs in README suggest `Batch#add` is a class method, but it's not [\#912](https://github.com/bensheldon/good_job/issues/912)
|
34
|
+
- How do I clear queue during tests? [\#887](https://github.com/bensheldon/good_job/issues/887)
|
35
|
+
- Implement batch functionality [\#691](https://github.com/bensheldon/good_job/issues/691)
|
36
|
+
|
37
|
+
**Merged pull requests:**
|
38
|
+
|
39
|
+
- In tests, directly use `connection.truncate_tables` instead of `ActiveRecord::Tasks::DatabaseTasks.truncate_all` [\#918](https://github.com/bensheldon/good_job/pull/918) ([bensheldon](https://github.com/bensheldon))
|
40
|
+
- Use `GoodJob.capsule` in CLI instead of creating a new Capsule [\#916](https://github.com/bensheldon/good_job/pull/916) ([bensheldon](https://github.com/bensheldon))
|
41
|
+
- Fix lint: missing fr and nl translations; readme whitespace [\#914](https://github.com/bensheldon/good_job/pull/914) ([bensheldon](https://github.com/bensheldon))
|
42
|
+
- Switches from Chrome to Chromium to support Apple M1/Arm CPUs [\#910](https://github.com/bensheldon/good_job/pull/910) ([ckdake](https://github.com/ckdake))
|
43
|
+
- Bump erb\_lint from 0.3.1 to 0.4.0 [\#906](https://github.com/bensheldon/good_job/pull/906) ([dependabot[bot]](https://github.com/apps/dependabot))
|
44
|
+
|
3
45
|
## [v3.15.0](https://github.com/bensheldon/good_job/tree/v3.15.0) (2023-04-02)
|
4
46
|
|
5
47
|
[Full Changelog](https://github.com/bensheldon/good_job/compare/v3.14.2...v3.15.0)
|
data/README.md
CHANGED
@@ -537,6 +537,7 @@ Batches track a set of jobs, and enqueue an optional callback job when all of th
|
|
537
537
|
- Jobs can be added to an existing batch. Jobs in a batch are enqueued and performed immediately/asynchronously. The final callback job will not be enqueued until `GoodJob::Batch#enqueue` is called.
|
538
538
|
|
539
539
|
```ruby
|
540
|
+
batch = GoodJob::Batch.new
|
540
541
|
batch = GoodJob::Batch.add do
|
541
542
|
10.times { MyJob.perform_later }
|
542
543
|
end
|
@@ -35,7 +35,9 @@ module GoodJob
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def current_locale
|
38
|
-
if
|
38
|
+
if request.GET['locale']
|
39
|
+
request.GET['locale']
|
40
|
+
elsif params[:locale]
|
39
41
|
params[:locale]
|
40
42
|
elsif good_job_available_locales.exclude?(I18n.default_locale) && I18n.available_locales.include?(:en)
|
41
43
|
:en
|
data/config/locales/fr.yml
CHANGED
@@ -78,8 +78,8 @@ fr:
|
|
78
78
|
one: 1 jour
|
79
79
|
other: "%{count} jours"
|
80
80
|
x_minutes:
|
81
|
-
one:
|
82
|
-
other:
|
81
|
+
one: 1 minute
|
82
|
+
other: "%{count} minutes"
|
83
83
|
x_months:
|
84
84
|
one: 1 mois
|
85
85
|
other: "%{count} mois"
|
@@ -130,8 +130,8 @@ fr:
|
|
130
130
|
table:
|
131
131
|
actions:
|
132
132
|
apply_to_all:
|
133
|
-
one:
|
134
|
-
other:
|
133
|
+
one: Appliquer à tous les 1 travail.
|
134
|
+
other: Appliquer à tous les %{count} travaux.
|
135
135
|
confirm_destroy_all: Voulez-vous vraiment détruire les travaux sélectionnés ?
|
136
136
|
confirm_discard_all: Êtes-vous usure que vous souhaitez supprimer les emplois sélectionnés?
|
137
137
|
confirm_reschedule_all: Voulez-vous vraiment reprogrammer les tâches sélectionnées ?
|
data/config/locales/nl.yml
CHANGED
@@ -130,8 +130,8 @@ nl:
|
|
130
130
|
table:
|
131
131
|
actions:
|
132
132
|
apply_to_all:
|
133
|
-
one:
|
134
|
-
other:
|
133
|
+
one: Toepassen op alle 1 baan.
|
134
|
+
other: Toepassen op alle %{count} banen.
|
135
135
|
confirm_destroy_all: Weet u zeker dat u de geselecteerde jobs wilt vernietigen?
|
136
136
|
confirm_discard_all: Wilt u de geselecteerde jobs verwijderen?
|
137
137
|
confirm_reschedule_all: Weet u zeker dat u de geselecteerde taken opnieuw wilt inplannen?
|
data/lib/good_job/adapter.rb
CHANGED
@@ -64,6 +64,7 @@ module GoodJob
|
|
64
64
|
job_id_to_provider_job_id = results.each_with_object({}) { |result, hash| hash[result['active_job_id']] = result['id'] }
|
65
65
|
active_jobs.each do |active_job|
|
66
66
|
active_job.provider_job_id = job_id_to_provider_job_id[active_job.job_id]
|
67
|
+
active_job.successfully_enqueued = active_job.provider_job_id.present? if active_job.respond_to?(:successfully_enqueued=)
|
67
68
|
end
|
68
69
|
executions.each do |execution|
|
69
70
|
execution.instance_variable_set(:@new_record, false) if job_id_to_provider_job_id[execution.active_job_id]
|
data/lib/good_job/cli.rb
CHANGED
@@ -92,10 +92,10 @@ module GoodJob
|
|
92
92
|
set_up_application!
|
93
93
|
GoodJob.configuration.options.merge!(options.symbolize_keys)
|
94
94
|
configuration = GoodJob.configuration
|
95
|
+
capsule = GoodJob.capsule
|
95
96
|
|
96
97
|
Daemon.new(pidfile: configuration.pidfile).daemonize if configuration.daemonize?
|
97
98
|
|
98
|
-
capsule = GoodJob::Capsule.new
|
99
99
|
capsule.start
|
100
100
|
|
101
101
|
if configuration.probe_port
|
data/lib/good_job/version.rb
CHANGED
data/lib/good_job.rb
CHANGED
@@ -162,22 +162,33 @@ module GoodJob
|
|
162
162
|
# destroy old records and preserve space in your database.
|
163
163
|
# @param older_than [nil,Numeric,ActiveSupport::Duration] Jobs older than this will be destroyed (default: +86400+).
|
164
164
|
# @return [Integer] Number of job execution records and batches that were destroyed.
|
165
|
-
def self.cleanup_preserved_jobs(older_than: nil)
|
165
|
+
def self.cleanup_preserved_jobs(older_than: nil, in_batches_of: 1_000)
|
166
166
|
older_than ||= GoodJob.configuration.cleanup_preserved_jobs_before_seconds_ago
|
167
167
|
timestamp = Time.current - older_than
|
168
168
|
include_discarded = GoodJob.configuration.cleanup_discarded_jobs?
|
169
169
|
|
170
170
|
ActiveSupport::Notifications.instrument("cleanup_preserved_jobs.good_job", { older_than: older_than, timestamp: timestamp }) do |payload|
|
171
|
-
|
172
|
-
|
173
|
-
|
171
|
+
deleted_executions_count = 0
|
172
|
+
deleted_batches_count = 0
|
173
|
+
|
174
|
+
jobs_query = GoodJob::Job.where('finished_at <= ?', timestamp).order(finished_at: :asc).limit(in_batches_of)
|
175
|
+
jobs_query = jobs_query.succeeded unless include_discarded
|
176
|
+
loop do
|
177
|
+
deleted = GoodJob::Execution.where(job: jobs_query).delete_all
|
178
|
+
break if deleted.zero?
|
179
|
+
|
180
|
+
deleted_executions_count += deleted
|
181
|
+
end
|
174
182
|
|
175
183
|
if GoodJob::BatchRecord.migrated?
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
184
|
+
batches_query = GoodJob::BatchRecord.where('finished_at <= ?', timestamp).limit(in_batches_of)
|
185
|
+
batches_query = batches_query.succeeded unless include_discarded
|
186
|
+
loop do
|
187
|
+
deleted = batches_query.delete_all
|
188
|
+
break if deleted.zero?
|
189
|
+
|
190
|
+
deleted_batches_count += deleted
|
191
|
+
end
|
181
192
|
end
|
182
193
|
|
183
194
|
payload[:destroyed_executions_count] = deleted_executions_count
|
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.15.
|
4
|
+
version: 3.15.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Sheldon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04-
|
11
|
+
date: 2023-04-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activejob
|