delayed_job_master 2.0.2 → 2.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af19b8a7d431072868701600d2298be3df8dbcd67b77b9475ce8ac92299c9a00
4
- data.tar.gz: 124d605397464a453c2bf96774c7453cdefd8746696eda34c027f0f8312522cb
3
+ metadata.gz: 2352f0e35b9bf06ef9362e797ea35d8b848583d03d8aea62235497dc8b938cc9
4
+ data.tar.gz: 205e1a4b04a8ad361ff0122acc65bcaa02439eaf5bbe91a258652dfa02d79eb9
5
5
  SHA512:
6
- metadata.gz: f7f4033ac2a0289d098e38c001ffb8fcafbcecda60b757dd1622922f5779850bbf0887ffd45ce135d343ebc3f607c0249517ed8ad7230bbdbe0d55f766ec4942
7
- data.tar.gz: 39f656a25a4a1d843749b727e09eace912f55b74fb5bd51d289abc3cc8679de837a95b330b455583a37c0d8b410a94372ce50e53edf3732cd3e0bf707d305de8
6
+ metadata.gz: f02b0683502467943f0e1e81543705b7d69febdcf22a846d05525a95fa13844552c6d3215df4f2b87fbfdf859d9178eb18350d746a8f92743752ac0cfa2f44f2
7
+ data.tar.gz: 104a01e051fce6f6fba061c38e1674a8c3a8bd23d9ae367399a9825fc0a560fc8657dd863d6dca053c734761b93160d70b50c5356343ec12320b572b8937f019
@@ -4,27 +4,41 @@ on: [push, pull_request]
4
4
 
5
5
  jobs:
6
6
  test:
7
- runs-on: ubuntu-16.04
7
+ runs-on: ubuntu-20.04
8
8
  strategy:
9
9
  fail-fast: false
10
10
  matrix:
11
- ruby: [2.3, 2.4, 2.5, 2.6, 2.7, 3.0]
12
- gemfile: ['rails50', 'rails51', 'rails52', 'rails60', 'rails61']
11
+ ruby: [2.3, 2.4, 2.5, 2.6, 2.7, '3.0', 3.1]
12
+ gemfile: ['rails50', 'rails51', 'rails52', 'rails60', 'rails61', 'rails70']
13
13
  exclude:
14
14
  - ruby: 2.3
15
15
  gemfile: rails60
16
16
  - ruby: 2.3
17
17
  gemfile: rails61
18
+ - ruby: 2.3
19
+ gemfile: rails70
18
20
  - ruby: 2.4
19
21
  gemfile: rails60
20
22
  - ruby: 2.4
21
23
  gemfile: rails61
24
+ - ruby: 2.4
25
+ gemfile: rails70
26
+ - ruby: 2.5
27
+ gemfile: rails70
28
+ - ruby: 2.6
29
+ gemfile: rails70
22
30
  - ruby: 3.0
23
31
  gemfile: rails50
24
32
  - ruby: 3.0
25
33
  gemfile: rails51
26
34
  - ruby: 3.0
27
35
  gemfile: rails52
36
+ - ruby: 3.1
37
+ gemfile: rails50
38
+ - ruby: 3.1
39
+ gemfile: rails51
40
+ - ruby: 3.1
41
+ gemfile: rails52
28
42
 
29
43
  name: ruby ${{ matrix.ruby }}, ${{ matrix.gemfile }}
30
44
 
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.0.3
4
+
5
+ * Fix database config detection for rails 7.0.
6
+
3
7
  ## 2.0.2
4
8
 
5
9
  * Force establish_connection after fork.
@@ -2,5 +2,6 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem "delayed_job_active_record", "~> 4.1.0"
4
4
  gem "rails", "~> 6.0.0"
5
+ gem "psych", "~> 3.3.0"
5
6
 
6
7
  gemspec path: "../"
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem "rails", "~> 7.0.1"
4
+
5
+ gemspec path: "../"
@@ -0,0 +1,37 @@
1
+ module Delayed
2
+ class Master
3
+ class DatabaseDetector
4
+ def initialize
5
+ end
6
+
7
+ def call
8
+ load_spec_names.select { |spec_name| has_delayed_job_table?(spec_name) }
9
+ end
10
+
11
+ private
12
+
13
+ def load_spec_names
14
+ if Rails::VERSION::MAJOR >= 6
15
+ load_spec_names_from_multi_db_config
16
+ else
17
+ [Rails.env.to_sym]
18
+ end
19
+ end
20
+
21
+ def load_spec_names_from_multi_db_config
22
+ configs = ActiveRecord::Base.configurations.configs_for(env_name: Rails.env)
23
+ configs.reject!(&:replica?)
24
+ if Rails::VERSION::MAJOR == 6
25
+ configs.map { |c| c.spec_name.to_sym }
26
+ else
27
+ configs.map { |c| c.name.to_sym }
28
+ end
29
+ end
30
+
31
+ def has_delayed_job_table?(spec_name)
32
+ ActiveRecord::Base.establish_connection(spec_name)
33
+ ActiveRecord::Base.connection.tables.include?('delayed_jobs')
34
+ end
35
+ end
36
+ end
37
+ end
@@ -1,4 +1,5 @@
1
1
  require_relative 'job_counter'
2
+ require_relative 'database_detector'
2
3
 
3
4
  module Delayed
4
5
  class Master
@@ -58,26 +59,12 @@ module Delayed
58
59
 
59
60
  def target_spec_names
60
61
  if @config.databases.nil? || @config.databases.empty?
61
- load_spec_names.select { |spec_name| has_delayed_job_table?(spec_name) }
62
+ DatabaseDetector.new.call
62
63
  else
63
64
  @config.databases
64
65
  end
65
66
  end
66
67
 
67
- def load_spec_names
68
- if Rails::VERSION::MAJOR >= 6
69
- configs = ActiveRecord::Base.configurations.configs_for(env_name: Rails.env)
70
- configs.reject(&:replica?).map { |c| c.spec_name.to_sym }
71
- else
72
- [Rails.env.to_sym]
73
- end
74
- end
75
-
76
- def has_delayed_job_table?(spec_name)
77
- ActiveRecord::Base.establish_connection(spec_name)
78
- ActiveRecord::Base.connection.tables.include?('delayed_jobs')
79
- end
80
-
81
68
  def find_jobs_in_db(spec_name)
82
69
  counter = JobCounter.new(model_for(spec_name))
83
70
 
@@ -1,5 +1,5 @@
1
1
  module Delayed
2
2
  class Master
3
- VERSION = "2.0.2"
3
+ VERSION = "2.0.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: delayed_job_master
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoshikazu Kaneta
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-23 00:00:00.000000000 Z
11
+ date: 2022-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: delayed_job
@@ -144,9 +144,11 @@ files:
144
144
  - gemfiles/rails52.gemfile
145
145
  - gemfiles/rails60.gemfile
146
146
  - gemfiles/rails61.gemfile
147
+ - gemfiles/rails70.gemfile
147
148
  - lib/delayed/master.rb
148
149
  - lib/delayed/master/command.rb
149
150
  - lib/delayed/master/config.rb
151
+ - lib/delayed/master/database_detector.rb
150
152
  - lib/delayed/master/forker.rb
151
153
  - lib/delayed/master/job_checker.rb
152
154
  - lib/delayed/master/job_counter.rb
@@ -182,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
184
  - !ruby/object:Gem::Version
183
185
  version: '0'
184
186
  requirements: []
185
- rubygems_version: 3.2.3
187
+ rubygems_version: 3.3.3
186
188
  signing_key:
187
189
  specification_version: 4
188
190
  summary: A simple delayed_job master process to control multiple workers