delayed_job_active_record 4.1.4 → 4.1.8

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: 34b98bb9055f3859d08f79f718c41a32010f49af901dc106a71d09599096b2ac
4
- data.tar.gz: 917eaf5a7b4e2752a69dcaffa1e24d63d6b258cbfe54c53c8a5014d7c1f02b8e
3
+ metadata.gz: 6f3787467e904817090ad112e500a855194661f9295623517cc73c0bbb930c57
4
+ data.tar.gz: 200346cb19ab7030a82e86c41499220a6aab7e76bec940b14a17b39a96f13490
5
5
  SHA512:
6
- metadata.gz: ad865a5de93e631550580611f794f34847707770bb7c8dbb64dcaa92d9ef36b4168dc618daedb770c9b69fbdd55fff920bc47c0267ca695a568dfeda00a16b34
7
- data.tar.gz: f1c84d310f8ccfd17879bd368d3434c764c26341f1fb4035a5f1141ae647773268c1ce2c6e1daee2635e0bcfd73019cc6c220807d38bed8a3ca9618ba5c3de53
6
+ metadata.gz: 96b163e6ddbd7dd28c1b8bfd33fcbc7c39ee3b7c66af76774e45f7cf60f88946b26c8afa994af786ce7b4960f33c41209bcc75a99c4c0fd8b023ad83bd737c52
7
+ data.tar.gz: f149d6efdc7b06935639ea8f57d39f32710f1961f285b9a1baf0afd95c8bd30553d2a2c7e59e9ced337d323008a173832c6724af12d4788976808bb9bfae6f60
data/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  **If you're viewing this at https://github.com/collectiveidea/delayed_job_active_record,
2
2
  you're reading the documentation for the master branch.
3
3
  [View documentation for the latest release
4
- (4.1.4).](https://github.com/collectiveidea/delayed_job_active_record/tree/v4.1.4)**
4
+ (4.1.7).](https://github.com/collectiveidea/delayed_job_active_record/tree/v4.1.8)**
5
5
 
6
6
  # DelayedJob ActiveRecord Backend
7
7
 
8
8
  [![Gem Version](https://img.shields.io/gem/v/delayed_job_active_record.svg)](https://rubygems.org/gems/delayed_job_active_record)
9
- [![Build Status](https://img.shields.io/travis/collectiveidea/delayed_job_active_record.svg)](https://travis-ci.org/collectiveidea/delayed_job_active_record)
9
+ ![CI](https://github.com/collectiveidea/delayed_job_active_record/workflows/CI/badge.svg)
10
10
  [![Coverage Status](https://img.shields.io/coveralls/collectiveidea/delayed_job_active_record.svg)](https://coveralls.io/r/collectiveidea/delayed_job_active_record)
11
11
 
12
12
  ## Installation
@@ -1,16 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  Gem::Specification.new do |spec|
4
- spec.add_dependency "activerecord", [">= 3.0", "< 6.1"]
4
+ spec.add_dependency "activerecord", [">= 3.0", "< 8.0"]
5
5
  spec.add_dependency "delayed_job", [">= 3.0", "< 5"]
6
- spec.authors = ["Brian Ryckbost", "Matt Griffin", "Erik Michaels-Ober"]
6
+ spec.authors = ["David Genord II", "Brian Ryckbost", "Matt Griffin", "Erik Michaels-Ober"]
7
7
  spec.description = "ActiveRecord backend for Delayed::Job, originally authored by Tobias Lütke"
8
- spec.email = ["bryckbost@gmail.com", "matt@griffinonline.org", "sferik@gmail.com"]
8
+ spec.email = ["david@collectiveidea.com", "bryckbost@gmail.com", "matt@griffinonline.org", "sferik@gmail.com"]
9
9
  spec.files = %w[CONTRIBUTING.md LICENSE.md README.md delayed_job_active_record.gemspec] + Dir["lib/**/*.rb"]
10
10
  spec.homepage = "http://github.com/collectiveidea/delayed_job_active_record"
11
11
  spec.licenses = ["MIT"]
12
+ spec.metadata = { "rubygems_mfa_required" => "true" }
12
13
  spec.name = "delayed_job_active_record"
13
14
  spec.require_paths = ["lib"]
14
15
  spec.summary = "ActiveRecord backend for DelayedJob"
15
- spec.version = "4.1.4"
16
+ spec.version = "4.1.8"
16
17
  end
@@ -54,7 +54,7 @@ module Delayed
54
54
 
55
55
  def self.ready_to_run(worker_name, max_run_time)
56
56
  where(
57
- "(run_at <= ? AND (locked_at IS NULL OR locked_at < ?) OR locked_by = ?) AND failed_at IS NULL",
57
+ "((run_at <= ? AND (locked_at IS NULL OR locked_at < ?)) OR locked_by = ?) AND failed_at IS NULL",
58
58
  db_time_now,
59
59
  db_time_now - max_run_time,
60
60
  worker_name
@@ -62,7 +62,7 @@ module Delayed
62
62
  end
63
63
 
64
64
  def self.before_fork
65
- ::ActiveRecord::Base.clear_all_connections!
65
+ ::ActiveRecord::Base.connection_handler.clear_all_connections!
66
66
  end
67
67
 
68
68
  def self.after_fork
@@ -112,8 +112,11 @@ module Delayed
112
112
  end
113
113
 
114
114
  def self.reserve_with_scope_using_default_sql(ready_scope, worker, now)
115
- # This is our old fashion, tried and true, but slower lookup
116
- ready_scope.limit(worker.read_ahead).detect do |job|
115
+ # This is our old fashion, tried and true, but possibly slower lookup
116
+ # Instead of reading the entire job record for our detect loop, we select only the id,
117
+ # and only read the full job record after we've successfully locked the job.
118
+ # This can have a noticable impact on large read_ahead configurations and large payload jobs.
119
+ ready_scope.limit(worker.read_ahead).select(:id).detect do |job|
117
120
  count = ready_scope.where(id: job.id).update_all(locked_at: now, locked_by: worker.name)
118
121
  count == 1 && job.reload
119
122
  end
@@ -169,13 +172,21 @@ module Delayed
169
172
  def self.db_time_now
170
173
  if Time.zone
171
174
  Time.zone.now
172
- elsif ::ActiveRecord::Base.default_timezone == :utc
175
+ elsif default_timezone == :utc
173
176
  Time.now.utc
174
177
  else
175
178
  Time.now # rubocop:disable Rails/TimeZone
176
179
  end
177
180
  end
178
181
 
182
+ def self.default_timezone
183
+ if ::ActiveRecord.respond_to?(:default_timezone)
184
+ ::ActiveRecord.default_timezone
185
+ else
186
+ ::ActiveRecord::Base.default_timezone
187
+ end
188
+ end
189
+
179
190
  def reload(*args)
180
191
  reset
181
192
  super
@@ -6,7 +6,14 @@ module DelayedJob
6
6
  # since ActiveRecord 3.0
7
7
  def next_migration_number(dirname)
8
8
  next_migration_number = current_migration_number(dirname) + 1
9
- if ActiveRecord::Base.timestamped_migrations
9
+ timestamped_migrations =
10
+ if ActiveRecord.respond_to?(:timestamped_migrations)
11
+ ActiveRecord.timestamped_migrations
12
+ else
13
+ ActiveRecord::Base.timestamped_migrations
14
+ end
15
+
16
+ if timestamped_migrations
10
17
  [Time.now.utc.strftime("%Y%m%d%H%M%S"), format("%.14d", next_migration_number)].max
11
18
  else
12
19
  format("%.3d", next_migration_number)
@@ -1,6 +1,6 @@
1
1
  class CreateDelayedJobs < ActiveRecord::Migration<%= migration_version %>
2
2
  def self.up
3
- create_table :delayed_jobs, force: true do |table|
3
+ create_table :delayed_jobs do |table|
4
4
  table.integer :priority, default: 0, null: false # Allows some jobs to jump to the front of the queue
5
5
  table.integer :attempts, default: 0, null: false # Provides for retries, but still fail eventually.
6
6
  table.text :handler, null: false # YAML-encoded string of the object that will do work
metadata CHANGED
@@ -1,16 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: delayed_job_active_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.4
4
+ version: 4.1.8
5
5
  platform: ruby
6
6
  authors:
7
+ - David Genord II
7
8
  - Brian Ryckbost
8
9
  - Matt Griffin
9
10
  - Erik Michaels-Ober
10
- autorequire:
11
+ autorequire:
11
12
  bindir: bin
12
13
  cert_chain: []
13
- date: 2019-08-20 00:00:00.000000000 Z
14
+ date: 2023-10-13 00:00:00.000000000 Z
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
17
  name: activerecord
@@ -21,7 +22,7 @@ dependencies:
21
22
  version: '3.0'
22
23
  - - "<"
23
24
  - !ruby/object:Gem::Version
24
- version: '6.1'
25
+ version: '8.0'
25
26
  type: :runtime
26
27
  prerelease: false
27
28
  version_requirements: !ruby/object:Gem::Requirement
@@ -31,7 +32,7 @@ dependencies:
31
32
  version: '3.0'
32
33
  - - "<"
33
34
  - !ruby/object:Gem::Version
34
- version: '6.1'
35
+ version: '8.0'
35
36
  - !ruby/object:Gem::Dependency
36
37
  name: delayed_job
37
38
  requirement: !ruby/object:Gem::Requirement
@@ -55,6 +56,7 @@ dependencies:
55
56
  description: ActiveRecord backend for Delayed::Job, originally authored by Tobias
56
57
  Lütke
57
58
  email:
59
+ - david@collectiveidea.com
58
60
  - bryckbost@gmail.com
59
61
  - matt@griffinonline.org
60
62
  - sferik@gmail.com
@@ -76,8 +78,9 @@ files:
76
78
  homepage: http://github.com/collectiveidea/delayed_job_active_record
77
79
  licenses:
78
80
  - MIT
79
- metadata: {}
80
- post_install_message:
81
+ metadata:
82
+ rubygems_mfa_required: 'true'
83
+ post_install_message:
81
84
  rdoc_options: []
82
85
  require_paths:
83
86
  - lib
@@ -92,8 +95,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
95
  - !ruby/object:Gem::Version
93
96
  version: '0'
94
97
  requirements: []
95
- rubygems_version: 3.0.3
96
- signing_key:
98
+ rubygems_version: 3.4.20
99
+ signing_key:
97
100
  specification_version: 4
98
101
  summary: ActiveRecord backend for DelayedJob
99
102
  test_files: []