good_job 3.6.0 → 3.6.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a3932cd8e0d33ab7f8a56a43c9c458f69db206291b092d9fcac16dfef11849ad
4
- data.tar.gz: 695e46da59becc3450c0a0e33c1557784cef56794db979a648dce5d792c57651
3
+ metadata.gz: 3cdc97553bd567b0286d79c9a41187cf6a91478855f3469af986453a6c311f72
4
+ data.tar.gz: ef18533f656f9d1b2a4f131e5e745760ea8976a94f1c7f46a195c0042c9a35ff
5
5
  SHA512:
6
- metadata.gz: 0ce689ec771af8a472d964cf14739ecc1fd2bf5c903692fbb2d73aeb19870560919c42b9aff5a0ca1671068ad6d914ceaa503aab84649e281ac53c5a17f3a6b5
7
- data.tar.gz: 8c85d21ef4dbe48400c24dffa86f7ea78a5ae827ce8057cd8ab2efc439a980c24b61ae8224e14153a0a23b5933d49d8bf7c6e6d0e269b7cdeb7f28ced476b509
6
+ metadata.gz: d411c12b7b7b16c7787942d4a5998f319b44fea819a2caf756513d8b7e9f2c6ae44b8afe41576299d3c841aabda50c0669e087cfb13c885e86225fc25192d927
7
+ data.tar.gz: 0df610fb8995d52e24b55984399bbe59b645eb570891fdc262faf6482d324e42c647bdd33c18d7025323f99d57f5a6bd5455be75b3ccf60b31bfdcf65b0a4137
data/CHANGELOG.md CHANGED
@@ -1,30 +1,54 @@
1
1
  # Changelog
2
2
 
3
- ## [v3.6.0](https://github.com/bensheldon/good_job/tree/v3.6.0) (2022-10-22)
3
+ ## [v3.6.1](https://github.com/bensheldon/good_job/tree/v3.6.1) (2022-11-30)
4
4
 
5
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.5.1...v3.6.0)
5
+ [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.6.0...v3.6.1)
6
6
 
7
- **Fixed bugs:**
7
+ **Implemented enhancements:**
8
8
 
9
- - 3.4.8 release breaks job retrying [\#728](https://github.com/bensheldon/good_job/issues/728)
9
+ - add UA to i18n [\#747](https://github.com/bensheldon/good_job/pull/747) ([yshmarov](https://github.com/yshmarov))
10
+
11
+ **Closed issues:**
12
+
13
+ - Minor Cron Concurrency Clarification [\#743](https://github.com/bensheldon/good_job/issues/743)
14
+ - Materialized CTE performance bottleneck [\#720](https://github.com/bensheldon/good_job/issues/720)
15
+ - Calculating database connections [\#669](https://github.com/bensheldon/good_job/issues/669)
10
16
 
11
17
  **Merged pull requests:**
12
18
 
13
- - Redo: When not preserving job records, ensure all prior executions are deleted after successful retry [\#730](https://github.com/bensheldon/good_job/pull/730) ([bensheldon](https://github.com/bensheldon))
19
+ - Update gems, rubocop, and development ruby \(v2.7.7\) [\#752](https://github.com/bensheldon/good_job/pull/752) ([bensheldon](https://github.com/bensheldon))
20
+ - Add chrome/chromdriver to Codespace configuration [\#746](https://github.com/bensheldon/good_job/pull/746) ([bensheldon](https://github.com/bensheldon))
21
+ - Add GitHub Codespaces / devcontainer configuration [\#745](https://github.com/bensheldon/good_job/pull/745) ([bensheldon](https://github.com/bensheldon))
22
+ - Bump fugit from 1.7.1 to 1.7.2 [\#742](https://github.com/bensheldon/good_job/pull/742) ([dependabot[bot]](https://github.com/apps/dependabot))
23
+ - Bundle update and Rubocop lints [\#740](https://github.com/bensheldon/good_job/pull/740) ([bensheldon](https://github.com/bensheldon))
24
+ - Add dependabot to update development dependencies [\#734](https://github.com/bensheldon/good_job/pull/734) ([bensheldon](https://github.com/bensheldon))
25
+ - Fix misspellings and grammar in README [\#732](https://github.com/bensheldon/good_job/pull/732) ([aisayo](https://github.com/aisayo))
26
+
27
+ ## [v3.6.0](https://github.com/bensheldon/good_job/tree/v3.6.0) (2022-10-22)
28
+
29
+ [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.5.1...v3.6.0)
30
+
31
+ **Implemented enhancements:**
32
+
14
33
  - Add configurable limit \(`queue_select_limit`\) when querying candidate jobs [\#727](https://github.com/bensheldon/good_job/pull/727) ([mitchellhenke](https://github.com/mitchellhenke))
15
34
  - Add index to `good_jobs` to improve querying candidate jobs [\#726](https://github.com/bensheldon/good_job/pull/726) ([mitchellhenke](https://github.com/mitchellhenke))
16
35
 
36
+ **Fixed bugs:**
37
+
38
+ - 3.4.8 release breaks job retrying [\#728](https://github.com/bensheldon/good_job/issues/728)
39
+ - Redo: When not preserving job records, ensure all prior executions are deleted after successful retry [\#730](https://github.com/bensheldon/good_job/pull/730) ([bensheldon](https://github.com/bensheldon))
40
+
17
41
  ## [v3.5.1](https://github.com/bensheldon/good_job/tree/v3.5.1) (2022-10-20)
18
42
 
19
43
  [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.5.0...v3.5.1)
20
44
 
21
- **Closed issues:**
45
+ **Fixed bugs:**
22
46
 
23
- - Assert cancelled jobs [\#724](https://github.com/bensheldon/good_job/issues/724)
47
+ - Revert "When not preserving job records, ensure all prior executions are deleted after successful retry" because some retry patterns stopped working [\#729](https://github.com/bensheldon/good_job/pull/729) ([bensheldon](https://github.com/bensheldon))
24
48
 
25
- **Merged pull requests:**
49
+ **Closed issues:**
26
50
 
27
- - Revert "When not preserving job records, ensure all prior executions are deleted after successful retry" because some retry patterns stopped working [\#729](https://github.com/bensheldon/good_job/pull/729) ([bensheldon](https://github.com/bensheldon))
51
+ - Assert cancelled jobs [\#724](https://github.com/bensheldon/good_job/issues/724)
28
52
 
29
53
  ## [v3.5.0](https://github.com/bensheldon/good_job/tree/v3.5.0) (2022-10-18)
30
54
 
@@ -40,7 +64,7 @@
40
64
 
41
65
  [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.4.7...v3.4.8)
42
66
 
43
- **Merged pull requests:**
67
+ **Fixed bugs:**
44
68
 
45
69
  - When not preserving job records, ensure all prior executions are deleted after successful retry [\#719](https://github.com/bensheldon/good_job/pull/719) ([ylansegal](https://github.com/ylansegal))
46
70
 
@@ -124,6 +148,7 @@
124
148
  **Fixed bugs:**
125
149
 
126
150
  - Jobs enqueued via dashboard ignores app default\_locale [\#697](https://github.com/bensheldon/good_job/issues/697)
151
+ - Enqueues Cron jobs with I18n default locale [\#698](https://github.com/bensheldon/good_job/pull/698) ([esasse](https://github.com/esasse))
127
152
  - Include better exception log messages, including class and backtrace [\#693](https://github.com/bensheldon/good_job/pull/693) ([bensheldon](https://github.com/bensheldon))
128
153
 
129
154
  **Closed issues:**
@@ -133,10 +158,6 @@
133
158
  - ActiveRecord::StatementInvalid: PG::ConnectionBad: PQsocket\(\) can't get socket descriptor every 30 minutes aprox. [\#579](https://github.com/bensheldon/good_job/issues/579)
134
159
  - Handle assets in dashboard when rails app is behind proxy path [\#424](https://github.com/bensheldon/good_job/issues/424)
135
160
 
136
- **Merged pull requests:**
137
-
138
- - Enqueues Cron jobs with I18n default locale [\#698](https://github.com/bensheldon/good_job/pull/698) ([esasse](https://github.com/esasse))
139
-
140
161
  ## [v3.4.1](https://github.com/bensheldon/good_job/tree/v3.4.1) (2022-08-06)
141
162
 
142
163
  [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.4.0...v3.4.1)
@@ -1022,7 +1043,7 @@
1022
1043
  - Warn in Readme that configuration should not go into `config/initializers/*.rb` [\#418](https://github.com/bensheldon/good_job/pull/418) ([bensheldon](https://github.com/bensheldon))
1023
1044
  - Replace worker wording [\#409](https://github.com/bensheldon/good_job/pull/409) ([Hugo-Hache](https://github.com/Hugo-Hache))
1024
1045
  - Improve Readme's "Optimize queues, threads, processes" section [\#405](https://github.com/bensheldon/good_job/pull/405) ([Hugo-Hache](https://github.com/Hugo-Hache))
1025
- - Update GH Test Matrix with more PG versions [\#401](https://github.com/bensheldon/good_job/pull/401) ([tedhexaflow](https://github.com/tedhexaflow))
1046
+ - Update GH Test Matrix with more PG versions [\#401](https://github.com/bensheldon/good_job/pull/401) ([tedthetnaungsoe](https://github.com/tedthetnaungsoe))
1026
1047
  - Extract cron configuration hash into CronEntry ActiveModel objects [\#400](https://github.com/bensheldon/good_job/pull/400) ([bensheldon](https://github.com/bensheldon))
1027
1048
  - Remove errant copy-paste from app.json [\#397](https://github.com/bensheldon/good_job/pull/397) ([morgoth](https://github.com/morgoth))
1028
1049
 
@@ -1062,7 +1083,7 @@
1062
1083
 
1063
1084
  **Merged pull requests:**
1064
1085
 
1065
- - Update GH Test Matrix with latest JRuby 9.3.0.0 [\#387](https://github.com/bensheldon/good_job/pull/387) ([tedhexaflow](https://github.com/tedhexaflow))
1086
+ - Update GH Test Matrix with latest JRuby 9.3.0.0 [\#387](https://github.com/bensheldon/good_job/pull/387) ([tedthetnaungsoe](https://github.com/tedthetnaungsoe))
1066
1087
  - Improve test support's ShellOut command's process termination and add test logs [\#385](https://github.com/bensheldon/good_job/pull/385) ([bensheldon](https://github.com/bensheldon))
1067
1088
  - @bensheldon Add Rails 7 alpha to Appraisal; update development dependencies [\#384](https://github.com/bensheldon/good_job/pull/384) ([bensheldon](https://github.com/bensheldon))
1068
1089
 
@@ -1321,7 +1342,7 @@
1321
1342
 
1322
1343
  - Have prettier Dashboard asset urls e.g. `bootstrap.css` instead of `bootstrap_css.css` [\#306](https://github.com/bensheldon/good_job/pull/306) ([bensheldon](https://github.com/bensheldon))
1323
1344
  - Create dashboard demo app on Heroku [\#305](https://github.com/bensheldon/good_job/pull/305) ([bensheldon](https://github.com/bensheldon))
1324
- - Add Frozen String Literal to all files [\#302](https://github.com/bensheldon/good_job/pull/302) ([tedhexaflow](https://github.com/tedhexaflow))
1345
+ - Add Frozen String Literal to all files [\#302](https://github.com/bensheldon/good_job/pull/302) ([tedthetnaungsoe](https://github.com/tedthetnaungsoe))
1325
1346
 
1326
1347
  ## [v1.11.2](https://github.com/bensheldon/good_job/tree/v1.11.2) (2021-07-20)
1327
1348
 
@@ -1379,7 +1400,7 @@
1379
1400
 
1380
1401
  **Merged pull requests:**
1381
1402
 
1382
- - Update GH Test Matrix with latest JRuby 9.2.19.0 [\#283](https://github.com/bensheldon/good_job/pull/283) ([tedhexaflow](https://github.com/tedhexaflow))
1403
+ - Update GH Test Matrix with latest JRuby 9.2.19.0 [\#283](https://github.com/bensheldon/good_job/pull/283) ([tedthetnaungsoe](https://github.com/tedthetnaungsoe))
1383
1404
 
1384
1405
  ## [v1.10.0](https://github.com/bensheldon/good_job/tree/v1.10.0) (2021-06-29)
1385
1406
 
@@ -1529,11 +1550,11 @@
1529
1550
  - Move executable flags from constants to accessors on GoodJob::CLI [\#234](https://github.com/bensheldon/good_job/pull/234) ([bensheldon](https://github.com/bensheldon))
1530
1551
  - Add custom Scheduler::TimerSet [\#232](https://github.com/bensheldon/good_job/pull/232) ([bensheldon](https://github.com/bensheldon))
1531
1552
  - Fix assorted constant references in YARD documentation [\#231](https://github.com/bensheldon/good_job/pull/231) ([bensheldon](https://github.com/bensheldon))
1532
- - Update GH Test Matrix with latest JRuby 9.2.17.0 [\#228](https://github.com/bensheldon/good_job/pull/228) ([tedhexaflow](https://github.com/tedhexaflow))
1553
+ - Update GH Test Matrix with latest JRuby 9.2.17.0 [\#228](https://github.com/bensheldon/good_job/pull/228) ([tedthetnaungsoe](https://github.com/tedthetnaungsoe))
1533
1554
  - Update gem dependencies [\#227](https://github.com/bensheldon/good_job/pull/227) ([bensheldon](https://github.com/bensheldon))
1534
1555
  - Remove leftover text from Readme [\#226](https://github.com/bensheldon/good_job/pull/226) ([weh](https://github.com/weh))
1535
1556
  - Fix appraisal and bundler version CI conflicts [\#224](https://github.com/bensheldon/good_job/pull/224) ([bensheldon](https://github.com/bensheldon))
1536
- - Update GH Test Matrix with latest JRuby [\#223](https://github.com/bensheldon/good_job/pull/223) ([tedhexaflow](https://github.com/tedhexaflow))
1557
+ - Update GH Test Matrix with latest JRuby [\#223](https://github.com/bensheldon/good_job/pull/223) ([tedthetnaungsoe](https://github.com/tedthetnaungsoe))
1537
1558
 
1538
1559
  ## [v1.8.0](https://github.com/bensheldon/good_job/tree/v1.8.0) (2021-03-04)
1539
1560
 
@@ -1616,8 +1637,8 @@
1616
1637
  **Merged pull requests:**
1617
1638
 
1618
1639
  - Update bundler version to 2.2.5 [\#200](https://github.com/bensheldon/good_job/pull/200) ([bensheldon](https://github.com/bensheldon))
1619
- - Update GH Test Matrix with minimum & latest JRuby version [\#197](https://github.com/bensheldon/good_job/pull/197) ([tedhexaflow](https://github.com/tedhexaflow))
1620
- - Fix JRuby version number [\#193](https://github.com/bensheldon/good_job/pull/193) ([tedhexaflow](https://github.com/tedhexaflow))
1640
+ - Update GH Test Matrix with minimum & latest JRuby version [\#197](https://github.com/bensheldon/good_job/pull/197) ([tedthetnaungsoe](https://github.com/tedthetnaungsoe))
1641
+ - Fix JRuby version number [\#193](https://github.com/bensheldon/good_job/pull/193) ([tedthetnaungsoe](https://github.com/tedthetnaungsoe))
1621
1642
 
1622
1643
  ## [v1.4.1](https://github.com/bensheldon/good_job/tree/v1.4.1) (2021-01-09)
1623
1644
 
data/README.md CHANGED
@@ -153,7 +153,7 @@ For more of the story of GoodJob, read the [introductory blog post](https://isla
153
153
 
154
154
  ### Command-line options
155
155
 
156
- There several top-level commands available through the `good_job` command-line tool.
156
+ There are several top-level commands available through the `good_job` command-line tool.
157
157
 
158
158
  Configuration options are available with `help`.
159
159
 
@@ -275,7 +275,7 @@ Available configuration options are:
275
275
  - `max_threads` (integer) sets the default number of threads per pool to use for working jobs. You can also set this with the environment variable `GOOD_JOB_MAX_THREADS`.
276
276
  - `poll_interval` (integer) sets the number of seconds between polls for jobs when `execution_mode` is set to `:async`. You can also set this with the environment variable `GOOD_JOB_POLL_INTERVAL`. A poll interval of `-1` disables polling completely.
277
277
  - `max_cache` (integer) sets the maximum number of scheduled jobs that will be stored in memory to reduce execution latency when also polling for scheduled jobs. Caching 10,000 scheduled jobs uses approximately 20MB of memory. You can also set this with the environment variable `GOOD_JOB_MAX_CACHE`.
278
- - `shutdown_timeout` (float) number of seconds to wait for jobs to finish when shutting down before stopping the thread. Defaults to forever: `-1`. You can also set this with the environment variable `GOOD_JOB_SHUTDOWN_TIMEOUT`.
278
+ - `shutdown_timeout` (integer) number of seconds to wait for jobs to finish when shutting down before stopping the thread. Defaults to forever: `-1`. You can also set this with the environment variable `GOOD_JOB_SHUTDOWN_TIMEOUT`.
279
279
  - `enable_cron` (boolean) whether to run cron process. Defaults to `false`. You can also set this with the environment variable `GOOD_JOB_ENABLE_CRON`.
280
280
  - `cron` (hash) cron configuration. Defaults to `{}`. You can also set this as a JSON string with the environment variable `GOOD_JOB_CRON`
281
281
  - `cleanup_discarded_jobs` (boolean) whether to destroy discarded jobs when cleaning up preserved jobs using the `$ good_job cleanup_preserved_jobs` CLI command or calling `GoodJob.cleanup_preserved_jobs`. Defaults to `true`. Can also be set with the environment variable `GOOD_JOB_CLEANUP_DISCARDED_JOBS`. _This configuration is only used when {GoodJob.preserve_job_records} is `true`._
@@ -286,7 +286,7 @@ Available configuration options are:
286
286
  - `logger` ([Rails Logger](https://api.rubyonrails.org/classes/ActiveSupport/Logger.html)) lets you set a custom logger for GoodJob. It should be an instance of a Rails `Logger` (Default: `Rails.logger`).
287
287
  - `preserve_job_records` (boolean) keeps job records in your database even after jobs are completed. (Default: `true`)
288
288
  - `retry_on_unhandled_error` (boolean) causes jobs to be re-queued and retried if they raise an instance of `StandardError`. Be advised this may lead to jobs being repeated infinitely ([see below for more on retries](#retries)). Instances of `Exception`, like SIGINT, will *always* be retried, regardless of this attribute’s value. (Default: `false`)
289
- - `on_thread_error` (proc, lambda, or callable) will be called when an Exception. It can be useful for logging errors to bug tracking services, like Sentry or Airbrake. Example:
289
+ - `on_thread_error` (proc, lambda, or callable) will be called when there is an Exception. It can be useful for logging errors to bug tracking services, like Sentry or Airbrake. Example:
290
290
 
291
291
  ```ruby
292
292
  config.good_job.on_thread_error = -> (exception) { Sentry.capture_exception(exception) }
@@ -327,7 +327,7 @@ The following options are also configurable via accessors, but you are encourage
327
327
  - **`GoodJob.logger`** ([Rails Logger](https://api.rubyonrails.org/classes/ActiveSupport/Logger.html)) lets you set a custom logger for GoodJob. It should be an instance of a Rails `Logger`.
328
328
  - **`GoodJob.preserve_job_records`** (boolean) keeps job records in your database even after jobs are completed. (Default: `true`)
329
329
  - **`GoodJob.retry_on_unhandled_error`** (boolean) causes jobs to be re-queued and retried if they raise an instance of `StandardError`. Be advised this may lead to jobs being repeated infinitely ([see below for more on retries](#retries)). Instances of `Exception`, like SIGINT, will *always* be retried, regardless of this attribute’s value. (Default: `false`)
330
- - **`GoodJob.on_thread_error`** (proc, lambda, or callable) will be called when an Exception. It can be useful for logging errors to bug tracking services, like Sentry or Airbrake.
330
+ - **`GoodJob.on_thread_error`** (proc, lambda, or callable) will be called when there is an Exception. It can be useful for logging errors to bug tracking services, like Sentry or Airbrake.
331
331
 
332
332
  ### Dashboard
333
333
 
@@ -379,7 +379,7 @@ require 'good_job/engine' # <= Add this line
379
379
 
380
380
  #### API-only Rails applications
381
381
 
382
- API-only Rails applications may not have all of the required Rack middleware for the GoodJob Dashboard to function. To re-add the middlware:
382
+ API-only Rails applications may not have all of the required Rack middleware for the GoodJob Dashboard to function. To re-add the middleware:
383
383
 
384
384
  ```ruby
385
385
  # config/application.rb
@@ -400,7 +400,7 @@ The Dashboard can be set to automatically refresh by checking "Live Poll" in the
400
400
 
401
401
  ### ActiveJob concurrency
402
402
 
403
- GoodJob can extend ActiveJob to provide limits on concurrently running jobs, either at time of _enqueue_ or at _perform_. Limiting concurrency can help prevent duplicate, double or unecessary jobs from being enqueued, or race conditions when performing, for example when interacting with 3rd-party APIs.
403
+ GoodJob can extend ActiveJob to provide limits on concurrently running jobs, either at time of _enqueue_ or at _perform_. Limiting concurrency can help prevent duplicate, double or unnecessary jobs from being enqueued, or race conditions when performing, for example when interacting with 3rd-party APIs.
404
404
 
405
405
  ```ruby
406
406
  class MyJob < ApplicationJob
@@ -460,7 +460,7 @@ GoodJob's concurrency control strategy for `perform_limit` is "optimistic retry
460
460
 
461
461
  GoodJob can enqueue jobs on a recurring basis that can be used as a replacement for cron.
462
462
 
463
- Cron-style jobs are run on every GoodJob process (e.g. CLI or `async` execution mode) when `config.good_job.enable_cron = true`, but GoodJob's cron uses unique indexes to ensure that only a single job is enqeued at the given time interval.
463
+ Cron-style jobs are run on every GoodJob process (e.g. CLI or `async` execution mode) when `config.good_job.enable_cron = true`, but GoodJob's cron uses unique indexes to ensure that only a single job is enqueued at the given time interval.
464
464
 
465
465
  Cron-format is parsed by the [`fugit`](https://github.com/floraison/fugit) gem, which has support for seconds-level resolution (e.g. `* * * * * *`) and natural language parsing (e.g. `every second`).
466
466
 
@@ -542,7 +542,7 @@ GoodJob v2 introduces a new Advisory Lock key format that is operationally diffe
542
542
 
543
543
  1. Upgrade your production environment to `v1.99.x` following the minor version upgrade process, including database migrations. `v1.99` is a transitional release that is safely compatible with both `v1.x` and `v2.0.0` because it uses both `v1`- and `v2`-formatted advisory locks.
544
544
  1. Address any deprecation warnings generated by `v1.99`.
545
- 1. Upgrade your production environment to `v1.99.x` to `v2.0.x` again following the _minor_ upgrade process.
545
+ 1. Upgrade your production environment from `v1.99.x` to `v2.0.x` again following the _minor_ upgrade process.
546
546
 
547
547
  Notable changes:
548
548
 
@@ -748,14 +748,14 @@ The queue process will not crash if the connections pool is exhausted, instead i
748
748
 
749
749
  When running GoodJob in a production environment, you should be mindful of:
750
750
 
751
- - [Execution mode](execute-jobs-async--in-process)
751
+ - [Execution mode](#execute-jobs-async--in-process)
752
752
  - [Database connection pool size](#database-connections)
753
753
  - [Health check probes](#cli-http-health-check-probes) and potentially the [instrumentation support](#monitor-and-preserve-worked-jobs)
754
754
 
755
755
  The recommended way to monitor the queue in production is:
756
756
 
757
- - have an exception notifier callback (see `on_thread_error`)
758
- - if possible, run the queue as a dedicated instance and use available HTTP health check probes instead of pid-based monitoring
757
+ - have an exception notifier callback (see [`on_thread_error`](#configuration-options))
758
+ - if possible, run the queue as a dedicated instance and use available HTTP health check probes instead of PID-based monitoring
759
759
  - keep an eye on the number of jobs in the queue (abnormal high number of unscheduled jobs means the queue could be underperforming)
760
760
  - consider performance monitoring services which support the built-in Rails instrumentation (eg. Sentry, Skylight, etc.)
761
761
 
@@ -953,7 +953,7 @@ It is also possible to manually trigger a cleanup of preserved job records:
953
953
 
954
954
  ### Write tests
955
955
 
956
- By default, GoodJob uses its inline adapter in the test environment; the inline adapter is designed for the test environment. When enquing a job with GoodJob's inline adapter, the job will be executed immediately on the current thread; unhandled exceptions will be raised.
956
+ By default, GoodJob uses its inline adapter in the test environment; the inline adapter is designed for the test environment. When enqueuing a job with GoodJob's inline adapter, the job will be executed immediately on the current thread; unhandled exceptions will be raised.
957
957
 
958
958
  In GoodJob 2.0, the inline adapter will execute future scheduled jobs immediately. In the next major release, GoodJob 3.0, the inline adapter will not execute future scheduled jobs and instead enqueue them in the database.
959
959
 
@@ -1067,7 +1067,7 @@ spec:
1067
1067
  All contributions, from feedback to code and beyond, are welcomed and appreciated 🙏
1068
1068
 
1069
1069
  - Review the [Prioritized Project Backlog](https://github.com/bensheldon/good_job/projects/1).
1070
- - Open a new Issue or contribute to an [existing Issue](https://github.com/bensheldon/good_job/issues). Questions or suggestions are fantastic.
1070
+ - Open a new issue or contribute to an [existing Issue](https://github.com/bensheldon/good_job/issues). Questions or suggestions are fantastic.
1071
1071
  - Participate according to our [Code of Conduct](/CODE_OF_CONDUCT.md).
1072
1072
  - Financially support the project via [Sponsorship](https://github.com/sponsors/bensheldon).
1073
1073
 
@@ -0,0 +1,107 @@
1
+ ---
2
+ ua:
3
+ datetime:
4
+ distance_in_words:
5
+ about_x_hours:
6
+ few: близько %{count} години
7
+ many: близько %{count} годин
8
+ one: близько 1 години
9
+ other: близько %{count} години
10
+ about_x_months:
11
+ few: близько %{count} місяців
12
+ many: близько %{count} місяців
13
+ one: близько 1 місяцю
14
+ other: близько %{count} місяцю
15
+ about_x_years:
16
+ few: близько %{count} років
17
+ many: близько %{count} років
18
+ one: близько 1 року
19
+ other: близько %{count} років
20
+ almost_x_years:
21
+ few: майже %{count} роки
22
+ many: майже %{count} років
23
+ one: майже 1 рік
24
+ other: майже %{count} років
25
+ half_a_minute: пів хвилини
26
+ less_than_x_minutes:
27
+ few: менше %{count} хвилин
28
+ many: менше %{count} хвилин
29
+ one: менше 1 хвилини
30
+ other: менше %{count} хвилини
31
+ less_than_x_seconds:
32
+ few: менше %{count} секунд
33
+ many: менше %{count} секунд
34
+ one: менше 1 секунди
35
+ other: менше %{count} секунди
36
+ over_x_years:
37
+ few: більше %{count} років
38
+ many: більше %{count} років
39
+ one: більше 1 року
40
+ other: більше %{count} років
41
+ x_days:
42
+ few: "%{count} дня"
43
+ many: "%{count} днів"
44
+ one: 1 день
45
+ other: "%{count} дня"
46
+ x_minutes:
47
+ few: "%{count} хвилини"
48
+ many: "%{count} хвилин"
49
+ one: 1 хвилину
50
+ other: "%{count} хвилини"
51
+ x_months:
52
+ few: "%{count} місяцю"
53
+ many: "%{count} місяців"
54
+ one: 1 місяць
55
+ other: "%{count} місяцю"
56
+ x_seconds:
57
+ few: "%{count} секунди"
58
+ many: "%{count} секунд"
59
+ one: 1 секунду
60
+ other: "%{count} секунди"
61
+ x_years:
62
+ few: "%{count} року"
63
+ many: "%{count} років"
64
+ one: 1 рік
65
+ other: "%{count} року"
66
+ duration:
67
+ hours: "%{hour}h %{min}m"
68
+ less_than_10_seconds: "%{sec}s"
69
+ milliseconds: "%{ms}мс"
70
+ minutes: "%{min}м %{sec}с"
71
+ seconds: "%{sec}s"
72
+ good_job:
73
+ shared:
74
+ footer:
75
+ last_update_html: Оснаннє оновлення <time id="page-updated-at" datetime="%{time}">%{time}</time>
76
+ wording: Запам'ятай, ти теж робиш Good Job!
77
+ navbar:
78
+ cron_schedules: Cron
79
+ jobs: Задачі
80
+ live_poll: Живе Опитування
81
+ name: "GoodJob 👍"
82
+ processes: Процеси
83
+ status:
84
+ discarded: Відхилено
85
+ queued: В черзі
86
+ retried: Повторна спроба
87
+ running: Біг
88
+ scheduled: за розкладом
89
+ succeeded: вдалося
90
+ number:
91
+ format:
92
+ delimiter: " "
93
+ separator: ","
94
+ human:
95
+ decimal_units:
96
+ format: "%n%u"
97
+ units:
98
+ billion: Блн
99
+ million: Млн
100
+ quadrillion: Q
101
+ thousand: Тис
102
+ trillion: Трил
103
+ unit: ''
104
+ format:
105
+ delimiter: " "
106
+ precision: 3
107
+ separator: ","
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  module GoodJob
3
3
  # GoodJob gem version.
4
- VERSION = '3.6.0'
4
+ VERSION = '3.6.1'
5
5
  end
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.6.0
4
+ version: 3.6.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-10-22 00:00:00.000000000 Z
11
+ date: 2022-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activejob
@@ -395,6 +395,7 @@ files:
395
395
  - config/locales/es.yml
396
396
  - config/locales/nl.yml
397
397
  - config/locales/ru.yml
398
+ - config/locales/ua.yml
398
399
  - config/routes.rb
399
400
  - exe/good_job
400
401
  - lib/active_job/queue_adapters/good_job_adapter.rb