good_job 3.28.2 → 3.28.3

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: c01c931bf907016e2758a52326884136539fd860a0aa29582afbdf522c64dabf
4
- data.tar.gz: 6e20623d0020c15e447bc9b1857587856e9abea6e698bed98d3e748ebe3bcf4f
3
+ metadata.gz: 38648843be987ab00d188e3564768440abc82e43ffe96b628431e34041152e8f
4
+ data.tar.gz: 6d3a99426cc7fab00b03ef81116b84315a1bf634cb6b619f2263a4e367545271
5
5
  SHA512:
6
- metadata.gz: 43f9fd7ecdc6c293d3b2147da775fb8eaf187d49b003eaf999efa39b6401cdd255dcd6496202611b486f665b2063c56d66f825c8f33928260261ea79c2766789
7
- data.tar.gz: 68205cc3bdb56ffde237eee3c2dff33fc287f7043bf3c84691be0a0957ec9fc56a21899ca4f56eb1f2482f959cfe217640c9094989887d57d9b13c7433244285
6
+ metadata.gz: b3931885de25ffa50f38fa39045238f5a38e4c57f695b8f3e94a1042db09eaf8a87cf3f46b7e01cf498cad60667c63ab1f9bc3c95d8ccc8fb5857cec16e66032
7
+ data.tar.gz: de8333dad6dd69694212e753642667c0be22dd72c39db530369ce4932d438d090e92139a0eb03163e3cd563bf91c21506725a068279e068a14f5ba31c8720e16
data/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## [v3.28.3](https://github.com/bensheldon/good_job/tree/v3.28.3) (2024-05-18)
4
+
5
+ [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.28.2...v3.28.3)
6
+
7
+ **Fixed bugs:**
8
+
9
+ - Strip more whitespace when parsing queues string [\#1352](https://github.com/bensheldon/good_job/pull/1352) ([bensheldon](https://github.com/bensheldon))
10
+ - Fix latest migration not affecting `GoodJob.migrated?` [\#1345](https://github.com/bensheldon/good_job/pull/1345) ([Earlopain](https://github.com/Earlopain))
11
+
12
+ **Closed issues:**
13
+
14
+ - Whitespace in `queues` configuration can cause issues. [\#1351](https://github.com/bensheldon/good_job/issues/1351)
15
+ - How to properly handle interrupts [\#1343](https://github.com/bensheldon/good_job/issues/1343)
16
+ - ActiveSupport::CurrentAttributes Compatibility [\#1341](https://github.com/bensheldon/good_job/issues/1341)
17
+
18
+ **Merged pull requests:**
19
+
20
+ - Don't abort CI jobs when a single one fails [\#1346](https://github.com/bensheldon/good_job/pull/1346) ([Earlopain](https://github.com/Earlopain))
21
+ - Clarify PgBouncer Compatibility [\#1338](https://github.com/bensheldon/good_job/pull/1338) ([isaac](https://github.com/isaac))
22
+
3
23
  ## [v3.28.2](https://github.com/bensheldon/good_job/tree/v3.28.2) (2024-04-26)
4
24
 
5
25
  [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.28.1...v3.28.2)
data/README.md CHANGED
@@ -1383,7 +1383,7 @@ _Note: Rails `travel`/`travel_to` time helpers do not have millisecond precision
1383
1383
 
1384
1384
  GoodJob is not compatible with PgBouncer in _transaction_ mode, but is compatible with PgBouncer's _connection_ mode. GoodJob uses connection-based advisory locks and LISTEN/NOTIFY, both of which require full database connections.
1385
1385
 
1386
- A workaround to this limitation is to make a direct database connection available to GoodJob. With Rails 6.0's support for [multiple databases](https://guides.rubyonrails.org/active_record_multiple_databases.html), a direct connection to the database can be configured:
1386
+ If you want to use PgBouncer with the rest of your Rails app you can workaround this limitation by making a direct database connection available to GoodJob. With Rails 6.0's support for [multiple databases](https://guides.rubyonrails.org/active_record_multiple_databases.html), a direct connection to the database can be configured by following the three steps below.
1387
1387
 
1388
1388
  1. Define a direct connection to your database that is not proxied through PgBouncer, for example:
1389
1389
 
@@ -40,7 +40,7 @@ module GoodJob
40
40
  # GoodJob::Execution.queue_parser('-queue1,queue2')
41
41
  # => { exclude: [ 'queue1', 'queue2' ] }
42
42
  def self.queue_parser(string)
43
- string = string.presence || '*'
43
+ string = string.strip.presence || '*'
44
44
 
45
45
  case string.first
46
46
  when '-'
@@ -8,8 +8,8 @@ module GoodJob
8
8
  # @param warm_cache_on_initialize [Boolean]
9
9
  # @return [GoodJob::MultiScheduler]
10
10
  def self.from_configuration(configuration, warm_cache_on_initialize: false)
11
- schedulers = configuration.queue_string.split(';').map do |queue_string_and_max_threads|
12
- queue_string, max_threads = queue_string_and_max_threads.split(':')
11
+ schedulers = configuration.queue_string.split(';').map(&:strip).map do |queue_string_and_max_threads|
12
+ queue_string, max_threads = queue_string_and_max_threads.split(':').map { |str| str.strip.presence }
13
13
  max_threads = (max_threads || configuration.max_threads).to_i
14
14
 
15
15
  job_performer = GoodJob::JobPerformer.new(queue_string)
@@ -2,7 +2,7 @@
2
2
 
3
3
  module GoodJob
4
4
  # GoodJob gem version.
5
- VERSION = '3.28.2'
5
+ VERSION = '3.28.3'
6
6
 
7
7
  # GoodJob version as Gem::Version object
8
8
  GEM_VERSION = Gem::Version.new(VERSION)
data/lib/good_job.rb CHANGED
@@ -277,8 +277,8 @@ module GoodJob
277
277
  # @return [Boolean]
278
278
  def self.migrated?
279
279
  # Always update with the most recent migration check
280
- GoodJob::Execution.reset_column_information
281
- GoodJob::Execution.candidate_lookup_index_migrated?
280
+ GoodJob::DiscreteExecution.reset_column_information
281
+ GoodJob::DiscreteExecution.backtrace_migrated?
282
282
  end
283
283
 
284
284
  ActiveSupport.run_load_hooks(:good_job, self)
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.28.2
4
+ version: 3.28.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Sheldon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-04-26 00:00:00.000000000 Z
11
+ date: 2024-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activejob
@@ -357,9 +357,9 @@ files:
357
357
  - lib/generators/good_job/templates/update/migrations/07_recreate_good_job_cron_indexes_with_conditional.rb.erb
358
358
  - lib/generators/good_job/templates/update/migrations/08_create_good_job_labels.rb.erb
359
359
  - lib/generators/good_job/templates/update/migrations/09_create_good_job_labels_index.rb.erb
360
- - lib/generators/good_job/templates/update/migrations/10_create_good_job_execution_error_backtrace.rb.erb
361
360
  - lib/generators/good_job/templates/update/migrations/10_remove_good_job_active_id_index.rb.erb
362
361
  - lib/generators/good_job/templates/update/migrations/11_create_index_good_job_jobs_for_candidate_lookup.rb.erb
362
+ - lib/generators/good_job/templates/update/migrations/12_create_good_job_execution_error_backtrace.rb.erb
363
363
  - lib/generators/good_job/update_generator.rb
364
364
  - lib/good_job.rb
365
365
  - lib/good_job/active_job_extensions/batches.rb