From 8484634cd4c34243e61db7f14c66f3fd07ca960b Mon Sep 17 00:00:00 2001 From: Russell Smith Date: Tue, 17 May 2022 21:27:32 -0700 Subject: [PATCH] Add success_handler to give subclass control over success (#338) * Add success_handler to give subclass control over success - For example, retaining completed request and mark them for completion instead of deleting them. Co-authored-by: Maher Hawash --- lib/queue_classic/worker.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/queue_classic/worker.rb b/lib/queue_classic/worker.rb index c8e28f1d..9a4b639d 100644 --- a/lib/queue_classic/worker.rb +++ b/lib/queue_classic/worker.rb @@ -111,7 +111,7 @@ def process(queue, job) finished = false begin call(job).tap do - queue.delete(job[:id]) + handle_success(queue, job) finished = true end rescue StandardError, ScriptError, NoMemoryError => e @@ -139,6 +139,10 @@ def call(job) receiver.send(message, *args) end + def handle_success(queue, job) + queue.delete(job[:id]) + end + # This method will be called when a StandardError, ScriptError or # NoMemoryError is raised during the execution of the job. def handle_failure(job,e)