talentbox-delayed_job_sequel 4.0.0.beta1 → 4.0.0.beta1.1
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/sequel.rb +14 -6
- data/spec/spec_helper.rb +1 -1
- metadata +2 -2
@@ -37,16 +37,24 @@ module Delayed
|
|
37
37
|
filter(:locked_by => worker_name).update(:locked_by => nil, :locked_at => nil)
|
38
38
|
end
|
39
39
|
|
40
|
-
|
41
|
-
|
42
|
-
set = ready_to_run(worker_name, max_run_time)
|
40
|
+
def self.reserve(worker, max_run_time = Worker.max_run_time)
|
41
|
+
set = ready_to_run(worker.name, max_run_time)
|
43
42
|
set = set.filter("priority >= ?", Worker.min_priority) if Worker.min_priority
|
44
43
|
set = set.filter("priority <= ?", Worker.max_priority) if Worker.max_priority
|
45
44
|
set = set.filter(:queue => Worker.queues) if Worker.queues.any?
|
46
45
|
|
47
|
-
|
48
|
-
|
46
|
+
job = set.by_priority.first
|
47
|
+
|
48
|
+
now = self.db_time_now
|
49
|
+
|
50
|
+
return unless job
|
51
|
+
model.db.transaction do
|
52
|
+
job.lock!
|
53
|
+
job.locked_at = now
|
54
|
+
job.locked_by = worker.name
|
55
|
+
job.save(:raise_on_failure => true)
|
49
56
|
end
|
57
|
+
job
|
50
58
|
end
|
51
59
|
|
52
60
|
# Lock this job for this worker.
|
@@ -134,7 +142,7 @@ module Delayed
|
|
134
142
|
end
|
135
143
|
end
|
136
144
|
|
137
|
-
# The default behaviour for sequel on #==/#eql? is to check if all
|
145
|
+
# The default behaviour for sequel on #==/#eql? is to check if all
|
138
146
|
# values are matching.
|
139
147
|
# This differs from ActiveRecord which checks class and id only.
|
140
148
|
# To pass the specs we're reverting to what AR does here.
|
data/spec/spec_helper.rb
CHANGED
@@ -53,7 +53,7 @@ end
|
|
53
53
|
require "delayed_job_sequel"
|
54
54
|
require "delayed/backend/shared_spec"
|
55
55
|
|
56
|
-
Delayed::Worker.logger = Logger.new("/tmp/dj.log")
|
56
|
+
Delayed::Worker.logger = Logger.new(ENV["DEBUG"] ? $stdout : "/tmp/dj.log")
|
57
57
|
DB.logger = Delayed::Worker.logger
|
58
58
|
|
59
59
|
# Purely useful for test cases...
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: talentbox-delayed_job_sequel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease: 6
|
5
|
-
version: 4.0.0.beta1
|
5
|
+
version: 4.0.0.beta1.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Jonathan Tron
|
@@ -125,7 +125,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
125
125
|
- !ruby/object:Gem::Version
|
126
126
|
segments:
|
127
127
|
- 0
|
128
|
-
hash:
|
128
|
+
hash: 3436972036027455601
|
129
129
|
version: '0'
|
130
130
|
none: false
|
131
131
|
required_rubygems_version: !ruby/object:Gem::Requirement
|