Skip to content

Commit b8220b2

Browse files
committed
Call after_enqueue hook in Resque.enqueue. Fixes resque#169
1 parent 200ec0f commit b8220b2

File tree

3 files changed

+8
-9
lines changed

3 files changed

+8
-9
lines changed

lib/resque.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,10 @@ def watch_queue(queue)
215215
# This method is considered part of the `stable` API.
216216
def enqueue(klass, *args)
217217
Job.create(queue_from_class(klass), klass, *args)
218+
219+
Plugin.after_enqueue_hooks(klass).each do |hook|
220+
klass.send(hook, *args)
221+
end
218222
end
219223

220224
# This method can be used to conveniently remove a job from a queue.

lib/resque/job.rb

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,10 @@ def self.create(queue, klass, *args)
4343
validate!(klass, queue)
4444

4545
if Resque.inline?
46-
ret = constantize(klass).perform(*decode(encode(args)))
46+
constantize(klass).perform(*decode(encode(args)))
4747
else
48-
ret = Resque.push(queue, :class => klass.to_s, :args => args)
48+
Resque.push(queue, :class => klass.to_s, :args => args)
4949
end
50-
51-
Plugin.after_enqueue_hooks(klass).each do |hook|
52-
klass.send(hook, *args)
53-
end
54-
55-
ret
5650
end
5751

5852
# Removes a job from a queue. Expects a string queue name, a

test/job_hooks_test.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@ def self.on_failure_record_failure(exception, history)
232232
include PerformJob
233233

234234
class ::AfterEnqueueJob
235+
@queue = :jobs
235236
def self.after_enqueue_record_history(history)
236237
history << :after_enqueue
237238
end
@@ -243,7 +244,7 @@ def self.perform(history)
243244
test "the after enqueue hook should run" do
244245
history = []
245246
@worker = Resque::Worker.new(:jobs)
246-
Resque::Job.create(:jobs, 'AfterEnqueueJob', history)
247+
Resque.enqueue(AfterEnqueueJob, history)
247248
@worker.work(0)
248249
assert_equal history, [:after_enqueue], "after_enqueue was not run"
249250
end

0 commit comments

Comments
 (0)