From eda6084d4bca1d812ab8489ed9ede55a1163dbe5 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 12 Apr 2016 23:08:10 +1000 Subject: [PATCH] FIX: don't allow concurrently queued once off jobs to do work --- app/jobs/onceoff.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/jobs/onceoff.rb b/app/jobs/onceoff.rb index e3463bfe1..cb441484c 100644 --- a/app/jobs/onceoff.rb +++ b/app/jobs/onceoff.rb @@ -12,6 +12,7 @@ class Jobs::Onceoff < Jobs::Base if args[:force] || !OnceoffLog.where(job_name: job_name).exists? return if $redis.exists(self.class.name) DistributedMutex.synchronize(self.class.name) do + return if OnceoffLog.where(job_name: job_name).exists? && !args[:force] execute_onceoff(args) OnceoffLog.create(job_name: job_name) end