From 3b556a02961b0f68eb6ecd60a4005d86f55abb3f Mon Sep 17 00:00:00 2001 From: Hung Nguyen Date: Fri, 29 Aug 2025 16:47:51 +0700 Subject: [PATCH] config(lcm): Allow configure number of threads using for migration dates --- VERSION | 2 +- lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index 7ccfe50b5..55430b44b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.7.95 +3.7.96 diff --git a/lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb b/lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb index 268acf886..0c2954847 100644 --- a/lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb +++ b/lib/gooddata/lcm/actions/migrate_gdc_date_dimension.rb @@ -31,6 +31,9 @@ class MigrateGdcDateDimension < BaseAction description 'Sync failed list' param :sync_failed_list, instance_of(Type::HashType), required: false + + description 'Number Of Threads' + param :number_of_threads_migrate_dates, instance_of(Type::StringType), required: false, default: '10' end RESULT_HEADER = %i[from to status] @@ -53,6 +56,8 @@ def call(params) def migrate_date_dimension(params, segment_info) results = [] client = params.gdc_gd_client + number_of_threads = Integer(params.number_of_threads_migrate_dates || '10') + GoodData.logger.info "Number of threads using migration dates #{number_of_threads}" latest_blueprint = segment_info[:from_blueprint] # don't migrate when latest master doesn't contain custom v2 date. return results unless contain_v2?(latest_blueprint) @@ -64,7 +69,7 @@ def migrate_date_dimension(params, segment_info) collect_synced_status = collect_synced_status(params) failed_projects = ThreadSafe::Array.new - segment_info[:to].pmap do |entry| + segment_info[:to].pmap(number_of_threads) do |entry| pid = entry[:pid] next if sync_failed_project(pid, params)