From 187c4107fbc78a60dcd5e37f213473961a0df622 Mon Sep 17 00:00:00 2001 From: luciajanikova <19lucia99@gmail.com> Date: Mon, 18 Nov 2024 14:39:16 +0100 Subject: [PATCH] Apply concurrency control on Fs::MessageDrafts submit job too --- app/jobs/fs/submit_message_draft_job.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/jobs/fs/submit_message_draft_job.rb b/app/jobs/fs/submit_message_draft_job.rb index f70e255b..b9070a20 100644 --- a/app/jobs/fs/submit_message_draft_job.rb +++ b/app/jobs/fs/submit_message_draft_job.rb @@ -1,4 +1,14 @@ class Fs::SubmitMessageDraftJob < ApplicationJob + include GoodJob::ActiveJobExtensions::Concurrency + + good_job_control_concurrency_with( + # Maximum number of unfinished jobs to allow with the concurrency key + # Can be an Integer or Lambda/Proc that is invoked in the context of the job + total_limit: 1, + + key: -> { "Fs::SubmitMessageDraftJob-#{arguments.first.try(:id)}" } + ) + def perform(message_draft, bulk_submit: false, fs_client: FsEnvironment.fs_client) raise "Invalid message!" unless message_draft.valid?(:validate_data)