From 5e4b31f07a3a498ad5bcd30237db3c2a10404da2 Mon Sep 17 00:00:00 2001 From: Max Fan <mfan@gitlab.com> Date: Sat, 4 Nov 2023 19:22:02 +0000 Subject: [PATCH] Reschedule_once duplication strategy for EntityWorker --- app/workers/bulk_imports/entity_worker.rb | 4 ++-- spec/workers/bulk_imports/entity_worker_spec.rb | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/workers/bulk_imports/entity_worker.rb b/app/workers/bulk_imports/entity_worker.rb index 9b60dcdeb8a76..1c555d95a2e68 100644 --- a/app/workers/bulk_imports/entity_worker.rb +++ b/app/workers/bulk_imports/entity_worker.rb @@ -5,13 +5,13 @@ class EntityWorker include ApplicationWorker idempotent! - deduplicate :until_executed + deduplicate :until_executed, if_deduplicated: :reschedule_once data_consistency :always feature_category :importers sidekiq_options retry: false, dead: false worker_has_external_dependencies! - PERFORM_DELAY = 5.seconds + PERFORM_DELAY = 30.seconds # Keep `_current_stage` parameter for backwards compatibility. # The parameter will be remove in https://gitlab.com/gitlab-org/gitlab/-/issues/426311 diff --git a/spec/workers/bulk_imports/entity_worker_spec.rb b/spec/workers/bulk_imports/entity_worker_spec.rb index 5f948906c08a0..5902ca87a17b8 100644 --- a/spec/workers/bulk_imports/entity_worker_spec.rb +++ b/spec/workers/bulk_imports/entity_worker_spec.rb @@ -49,6 +49,10 @@ end end + it 'has the option to reschedule once if deduplicated' do + expect(described_class.get_deduplication_options).to include({ if_deduplicated: :reschedule_once }) + end + context 'when pipeline workers from a stage are running' do before do pipeline_tracker.enqueue! -- GitLab