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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f3787467e904817090ad112e500a855194661f9295623517cc73c0bbb930c57
|
4
|
+
data.tar.gz: 200346cb19ab7030a82e86c41499220a6aab7e76bec940b14a17b39a96f13490
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
+
(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
|
[](https://rubygems.org/gems/delayed_job_active_record)
|
9
|
-
|
9
|
+

|
10
10
|
[](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", "<
|
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.
|
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
|
-
|
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
|
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
|
-
|
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
|
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
|
+
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:
|
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: '
|
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: '
|
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
|
-
|
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.
|
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: []
|