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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0c6783d40adcc7aa086233cf1e3cc66e95ddddc0c4dd0bd9f2174a445ff62a80
4
- data.tar.gz: 7fe5f7c7b441e86faf6bd8176efa5b459ec61d0dc4d04b17c13c6d79f3b7a338
3
+ metadata.gz: 4b17b594310d702d4a5dddca0001c067751c5c70595405ab74cf5091951e8dbf
4
+ data.tar.gz: 2ccf2889e6d629cd46850873c8b1038eba50554ba7b76d1151974b750e70f3c1
5
5
  SHA512:
6
- metadata.gz: bf94bb9848eaaa4900e06149d2a9fb88efa72ad0c08463ac0df5a613963b8c663c05538376894ecff47d713da2c68bf729e577a53856c7b6575c3c6cb0248b29
7
- data.tar.gz: 9f6f036d720c4ac9a551c3f4beac023fc154c8d15043110e9092bcb69b507d74121528735567aeea72ed879eb9f74ad17390f15199127c9d172999ac0b562191
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.3).](https://github.com/collectiveidea/delayed_job_active_record/tree/v4.1.3)**
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
  [![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)
10
- [![Dependency Status](https://img.shields.io/gemnasium/collectiveidea/delayed_job_active_record.svg)](https://gemnasium.com/collectiveidea/delayed_job_active_record)
11
- [![Code Climate](https://img.shields.io/codeclimate/github/collectiveidea/delayed_job_active_record.svg)](https://codeclimate.com/github/collectiveidea/delayed_job_active_record)
9
+ ![CI](https://github.com/collectiveidea/delayed_job_active_record/workflows/CI/badge.svg)
12
10
  [![Coverage Status](https://img.shields.io/coveralls/collectiveidea/delayed_job_active_record.svg)](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", "< 6.1"]
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.4.beta1"
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
- 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|
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,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "active_record"
2
4
  require "delayed_job"
3
5
  require "delayed/backend/active_record"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "generators/delayed_job/delayed_job_generator"
2
4
  require "generators/delayed_job/next_migration_version"
3
5
  require "rails/generators/migration"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module DelayedJob
2
4
  module NextMigrationVersion
3
5
  # while methods have moved around this has been the implementation
@@ -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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "generators/delayed_job/delayed_job_generator"
2
4
  require "generators/delayed_job/next_migration_version"
3
5
  require "rails/generators/migration"
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.beta1
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: 2019-02-18 00:00:00.000000000 Z
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: '6.1'
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: '6.1'
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: 1.3.1
94
+ version: '0'
94
95
  requirements: []
95
- rubyforge_project:
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