delayed_job_master 2.0.2 → 2.0.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: 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