delayed_job_active_record 4.1.4.beta1 → 4.1.7
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 +4 -4
- data/README.md +2 -4
- data/delayed_job_active_record.gemspec +5 -2
- data/lib/delayed/backend/active_record.rb +8 -3
- data/lib/delayed_job_active_record.rb +2 -0
- data/lib/generators/delayed_job/active_record_generator.rb +2 -0
- data/lib/generators/delayed_job/next_migration_version.rb +2 -0
- data/lib/generators/delayed_job/templates/migration.rb +1 -1
- data/lib/generators/delayed_job/upgrade_generator.rb +2 -0
- metadata +9 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4b17b594310d702d4a5dddca0001c067751c5c70595405ab74cf5091951e8dbf
|
|
4
|
+
data.tar.gz: 2ccf2889e6d629cd46850873c8b1038eba50554ba7b76d1151974b750e70f3c1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d0c30a1d2e4b220a1a12e61cd8f6745e13093c275c8f323c565cf919e92d65c8b9fa6ba35ca06532f5db3316e2128012c53076099b6940de71d351d8b2c0f6b8
|
|
7
|
+
data.tar.gz: e6c1f74236b4c93a981bafda8b311d71db3edc25e90856d8bb9d72e8c9fe61df7642c23e72f30eae40fc99eecefc2a5e3e1a11393d9c66e0114ab926ecdace4b
|
data/README.md
CHANGED
|
@@ -1,14 +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.7)**
|
|
5
5
|
|
|
6
6
|
# DelayedJob ActiveRecord Backend
|
|
7
7
|
|
|
8
8
|
[](https://rubygems.org/gems/delayed_job_active_record)
|
|
9
|
-
|
|
10
|
-
[](https://gemnasium.com/collectiveidea/delayed_job_active_record)
|
|
11
|
-
[](https://codeclimate.com/github/collectiveidea/delayed_job_active_record)
|
|
9
|
+

|
|
12
10
|
[](https://coveralls.io/r/collectiveidea/delayed_job_active_record)
|
|
13
11
|
|
|
14
12
|
## Installation
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
Gem::Specification.new do |spec|
|
|
2
|
-
spec.add_dependency "activerecord", [">= 3.0", "<
|
|
4
|
+
spec.add_dependency "activerecord", [">= 3.0", "< 8.0"]
|
|
3
5
|
spec.add_dependency "delayed_job", [">= 3.0", "< 5"]
|
|
4
6
|
spec.authors = ["Brian Ryckbost", "Matt Griffin", "Erik Michaels-Ober"]
|
|
5
7
|
spec.description = "ActiveRecord backend for Delayed::Job, originally authored by Tobias Lütke"
|
|
@@ -7,8 +9,9 @@ Gem::Specification.new do |spec|
|
|
|
7
9
|
spec.files = %w[CONTRIBUTING.md LICENSE.md README.md delayed_job_active_record.gemspec] + Dir["lib/**/*.rb"]
|
|
8
10
|
spec.homepage = "http://github.com/collectiveidea/delayed_job_active_record"
|
|
9
11
|
spec.licenses = ["MIT"]
|
|
12
|
+
spec.metadata = { "rubygems_mfa_required" => "true" }
|
|
10
13
|
spec.name = "delayed_job_active_record"
|
|
11
14
|
spec.require_paths = ["lib"]
|
|
12
15
|
spec.summary = "ActiveRecord backend for DelayedJob"
|
|
13
|
-
spec.version = "4.1.
|
|
16
|
+
spec.version = "4.1.7"
|
|
14
17
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require "active_record/version"
|
|
2
4
|
module Delayed
|
|
3
5
|
module Backend
|
|
@@ -52,7 +54,7 @@ module Delayed
|
|
|
52
54
|
|
|
53
55
|
def self.ready_to_run(worker_name, max_run_time)
|
|
54
56
|
where(
|
|
55
|
-
"(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",
|
|
56
58
|
db_time_now,
|
|
57
59
|
db_time_now - max_run_time,
|
|
58
60
|
worker_name
|
|
@@ -110,8 +112,11 @@ module Delayed
|
|
|
110
112
|
end
|
|
111
113
|
|
|
112
114
|
def self.reserve_with_scope_using_default_sql(ready_scope, worker, now)
|
|
113
|
-
# This is our old fashion, tried and true, but slower lookup
|
|
114
|
-
|
|
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|
|
|
115
120
|
count = ready_scope.where(id: job.id).update_all(locked_at: now, locked_by: worker.name)
|
|
116
121
|
count == 1 && job.reload
|
|
117
122
|
end
|
|
@@ -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,7 +1,7 @@
|
|
|
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.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Brian Ryckbost
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
13
|
+
date: 2022-01-18 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: activerecord
|
|
@@ -21,7 +21,7 @@ dependencies:
|
|
|
21
21
|
version: '3.0'
|
|
22
22
|
- - "<"
|
|
23
23
|
- !ruby/object:Gem::Version
|
|
24
|
-
version: '
|
|
24
|
+
version: '8.0'
|
|
25
25
|
type: :runtime
|
|
26
26
|
prerelease: false
|
|
27
27
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -31,7 +31,7 @@ dependencies:
|
|
|
31
31
|
version: '3.0'
|
|
32
32
|
- - "<"
|
|
33
33
|
- !ruby/object:Gem::Version
|
|
34
|
-
version: '
|
|
34
|
+
version: '8.0'
|
|
35
35
|
- !ruby/object:Gem::Dependency
|
|
36
36
|
name: delayed_job
|
|
37
37
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -76,7 +76,8 @@ files:
|
|
|
76
76
|
homepage: http://github.com/collectiveidea/delayed_job_active_record
|
|
77
77
|
licenses:
|
|
78
78
|
- MIT
|
|
79
|
-
metadata:
|
|
79
|
+
metadata:
|
|
80
|
+
rubygems_mfa_required: 'true'
|
|
80
81
|
post_install_message:
|
|
81
82
|
rdoc_options: []
|
|
82
83
|
require_paths:
|
|
@@ -88,12 +89,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
88
89
|
version: '0'
|
|
89
90
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
90
91
|
requirements:
|
|
91
|
-
- - "
|
|
92
|
+
- - ">="
|
|
92
93
|
- !ruby/object:Gem::Version
|
|
93
|
-
version:
|
|
94
|
+
version: '0'
|
|
94
95
|
requirements: []
|
|
95
|
-
|
|
96
|
-
rubygems_version: 2.7.6
|
|
96
|
+
rubygems_version: 3.1.4
|
|
97
97
|
signing_key:
|
|
98
98
|
specification_version: 4
|
|
99
99
|
summary: ActiveRecord backend for DelayedJob
|