@@ -40,6 +40,9 @@ class SynchronizeKDDashboardPermissions < BaseAction
4040
4141 description 'Sync failed list'
4242 param :sync_failed_list , instance_of ( Type ::HashType ) , required : false
43+
44+ description 'Number Of Threads'
45+ param :number_of_threads_synchronize_kd_dashboard_permissions , instance_of ( Type ::StringType ) , required : false , default : '10'
4346 end
4447
4548 class << self
@@ -49,6 +52,8 @@ def call(params)
4952 failed_projects = ThreadSafe ::Array . new
5053
5154 disable_kd_dashboard_permission = GoodData ::Helpers . to_boolean ( params . disable_kd_dashboard_permission )
55+ number_of_threads = Integer ( params . number_of_threads_synchronize_kd_dashboard_permissions || '10' )
56+ GoodData . logger . info "Number of threads using synchronize KD dashboard permissions #{ number_of_threads } " if number_of_threads != 10
5257
5358 # rubocop:disable Style/UnlessElse
5459 unless disable_kd_dashboard_permission
@@ -69,7 +74,7 @@ def call(params)
6974 from_dashboards = from_project . analytical_dashboards
7075
7176 params . gdc_logger . info "Transferring #{ dashboard_type } Dashboard permission, from project: '#{ from_project . title } ', PID: '#{ from_project . pid } ' for dashboard(s): #{ from_dashboards . map { |d | "#{ d . title . inspect } " } . join ( ', ' ) } " # rubocop:disable Metrics/LineLength
72- to_projects_info . peach do |item |
77+ to_projects_info . peach ( number_of_threads ) do |item |
7378 to_project_pid = item [ :pid ]
7479 next if sync_failed_project ( to_project_pid , params )
7580
0 commit comments