topprospect-delayed_job 2.0.7 → 2.0.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.
- data/lib/delayed/backend/active_record.rb +3 -4
- data/spec/backend/shared_backend_spec.rb +10 -10
- data/spec/worker_spec.rb +4 -4
- metadata +4 -4
|
@@ -36,11 +36,10 @@ module Delayed
|
|
|
36
36
|
named_scope :ready_to_run, lambda {|worker_name, max_run_time|
|
|
37
37
|
|
|
38
38
|
if Worker.queue == Delayed::ALL_QUEUES
|
|
39
|
-
conditions = ['(
|
|
40
|
-
db_time_now, db_time_now - max_run_time, worker_name]
|
|
39
|
+
conditions = ['(locked_at IS NULL OR locked_at < ?) AND failed_at IS NULL', db_time_now - max_run_time]
|
|
41
40
|
else
|
|
42
|
-
conditions = ['queue = ? AND (
|
|
43
|
-
Worker.queue, db_time_now
|
|
41
|
+
conditions = ['queue = ? AND (locked_at IS NULL OR locked_at < ?) AND failed_at IS NULL',
|
|
42
|
+
Worker.queue, db_time_now - max_run_time]
|
|
44
43
|
end
|
|
45
44
|
|
|
46
45
|
{:conditions => conditions}
|
|
@@ -84,12 +84,12 @@ shared_examples_for 'a backend' do
|
|
|
84
84
|
@job = create_job :attempts => 50, :failed_at => @backend.db_time_now
|
|
85
85
|
@backend.find_available('worker', 5, 1.second).should_not include(@job)
|
|
86
86
|
end
|
|
87
|
-
|
|
88
|
-
it "should not find jobs scheduled for the future" do
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
end
|
|
92
|
-
|
|
87
|
+
|
|
88
|
+
#it "should not find jobs scheduled for the future" do
|
|
89
|
+
# @job = create_job :run_at => (@backend.db_time_now + 1.minute)
|
|
90
|
+
# @backend.find_available('worker', 5, 4.hours).should_not include(@job)
|
|
91
|
+
#end
|
|
92
|
+
|
|
93
93
|
it "should not find jobs locked by another worker" do
|
|
94
94
|
@job = create_job(:locked_by => 'other_worker', :locked_at => @backend.db_time_now - 1.minute)
|
|
95
95
|
@backend.find_available('worker', 5, 4.hours).should_not include(@job)
|
|
@@ -105,10 +105,10 @@ shared_examples_for 'a backend' do
|
|
|
105
105
|
@backend.find_available('worker', 5, 1.minute).should include(@job)
|
|
106
106
|
end
|
|
107
107
|
|
|
108
|
-
it "should find own jobs" do
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
end
|
|
108
|
+
#it "should find own jobs" do
|
|
109
|
+
# @job = create_job(:locked_by => 'worker', :locked_at => (@backend.db_time_now - 1.minutes))
|
|
110
|
+
# @backend.find_available('worker', 5, 4.hours).should include(@job)
|
|
111
|
+
#end
|
|
112
112
|
|
|
113
113
|
it "should find only the right amount of jobs" do
|
|
114
114
|
10.times { create_job }
|
data/spec/worker_spec.rb
CHANGED
|
@@ -91,10 +91,10 @@ describe Delayed::Worker do
|
|
|
91
91
|
lambda { @worker.work_off }.should change { SimpleJob.runs }.from(0).to(1)
|
|
92
92
|
end
|
|
93
93
|
|
|
94
|
-
it "should run own jobs" do
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
end
|
|
94
|
+
#it "should run own jobs" do
|
|
95
|
+
# job_create(:locked_by => @worker.name, :locked_at => (Delayed::Job.db_time_now - 1.minutes))
|
|
96
|
+
# lambda { @worker.work_off }.should change { SimpleJob.runs }.from(0).to(1)
|
|
97
|
+
#end
|
|
98
98
|
end
|
|
99
99
|
|
|
100
100
|
describe "failed jobs" do
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: topprospect-delayed_job
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 31
|
|
5
5
|
prerelease:
|
|
6
6
|
segments:
|
|
7
7
|
- 2
|
|
8
8
|
- 0
|
|
9
|
-
-
|
|
10
|
-
version: 2.0.
|
|
9
|
+
- 8
|
|
10
|
+
version: 2.0.8
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Chris Gaffney
|
|
@@ -19,7 +19,7 @@ autorequire:
|
|
|
19
19
|
bindir: bin
|
|
20
20
|
cert_chain: []
|
|
21
21
|
|
|
22
|
-
date: 2011-09-
|
|
22
|
+
date: 2011-09-09 00:00:00 -07:00
|
|
23
23
|
default_executable:
|
|
24
24
|
dependencies:
|
|
25
25
|
- !ruby/object:Gem::Dependency
|