Merge pull request #984 from dsander/fix-delayed-job-deadlocks

Use non-optimized DelayedJob reserve sql strategy

Dominik Sander 8 years ago
parent
commit
d0381ec973
3 changed files with 15 additions and 5 deletions
  1. 1 1
      Gemfile
  2. 10 4
      Gemfile.lock
  3. 4 0
      config/initializers/delayed_job.rb

+ 1 - 1
Gemfile

@@ -59,7 +59,7 @@ gem 'bundler', '>= 1.5.0'
59 59
 gem 'coffee-rails', '~> 4.1.0'
60 60
 gem 'daemons', '~> 1.1.9'
61 61
 gem 'delayed_job', '~> 4.0.0'
62
-gem 'delayed_job_active_record', '~> 4.0.0'
62
+gem 'delayed_job_active_record', :git => 'https://github.com/cantino/delayed_job_active_record', :branch => 'configurable-reserve-sql-strategy'
63 63
 gem 'devise', '~> 3.4.0'
64 64
 gem 'dotenv-rails', '~> 2.0.1'
65 65
 gem 'em-http-request', '~> 1.1.2'

+ 10 - 4
Gemfile.lock

@@ -28,6 +28,15 @@ GIT
28 28
       omniauth (~> 1.0)
29 29
       omniauth-oauth2 (~> 1.1)
30 30
 
31
+GIT
32
+  remote: https://github.com/cantino/delayed_job_active_record
33
+  revision: 7ede4ea81561a66427f600decb87f6fcdb5b8aa4
34
+  branch: configurable-reserve-sql-strategy
35
+  specs:
36
+    delayed_job_active_record (4.0.3)
37
+      activerecord (>= 3.0, < 5.0)
38
+      delayed_job (>= 3.0, < 4.1)
39
+
31 40
 GEM
32 41
   remote: https://rubygems.org/
33 42
   specs:
@@ -119,9 +128,6 @@ GEM
119 128
     debug_inspector (0.0.2)
120 129
     delayed_job (4.0.6)
121 130
       activesupport (>= 3.0, < 5.0)
122
-    delayed_job_active_record (4.0.3)
123
-      activerecord (>= 3.0, < 5.0)
124
-      delayed_job (>= 3.0, < 4.1)
125 131
     delorean (2.1.0)
126 132
       chronic
127 133
     devise (3.4.1)
@@ -525,7 +531,7 @@ DEPENDENCIES
525 531
   coveralls
526 532
   daemons (~> 1.1.9)
527 533
   delayed_job (~> 4.0.0)
528
-  delayed_job_active_record (~> 4.0.0)
534
+  delayed_job_active_record!
529 535
   delorean
530 536
   devise (~> 3.4.0)
531 537
   dotenv-rails (~> 2.0.1)

+ 4 - 0
config/initializers/delayed_job.rb

@@ -14,3 +14,7 @@ class Delayed::Job
14 14
   scope :awaiting_retry, ->{ where("failed_at IS NULL AND attempts > 0") }
15 15
   scope :failed, -> { where("failed_at IS NOT NULL") }
16 16
 end
17
+
18
+Delayed::Backend::ActiveRecord.configure do |config|
19
+  config.reserve_sql_strategy = :default_sql
20
+end