@@ -197,6 +197,9 @@ def main():
197197 else :
198198 print (f"Target Capacity { target_capacity } 에 대한 매핑이 존재합니다. 멀티쓰레드 실행 모드로 진행합니다." )
199199
200+ # ------ Set Credential Range ------
201+ credential_range_end = 1800 if init_credential_index == 0 else len (credentials )
202+
200203 # ------ Start Query Per Target Capacity ------
201204 start_time = datetime .now (timezone .utc )
202205 start_credential_index = current_credential_index
@@ -212,18 +215,20 @@ def main():
212215 try :
213216 credential = credentials .iloc [current_credential_index ]
214217 args = (credential , scenarios , target_capacity )
215- # 매핑 기록 (성공한 credential index 기록)
218+ df = query_sps (args )
219+ # 성공한 경우에만 매핑 기록 및 index 증가
216220 current_mapping [idx ] = current_credential_index
217221 current_credential_index += 1
218- df = query_sps (args )
222+ if current_credential_index >= credential_range_end :
223+ current_credential_index = init_credential_index
219224 df_list .append (df )
220225 break
221226 except botocore .exceptions .ClientError as e :
222227 if e .response ['Error' ]['Code' ] == 'MaxConfigLimitExceeded' :
223- print (f"MaxConfigLimitExceeded for credential index { current_credential_index - 1 } . Retrying with next credential." )
224- # 실패한 경우 다음 credential로 재시도 (매핑은 성공한 것만 기록)
225- current_mapping [idx ] = current_credential_index
228+ print (f"MaxConfigLimitExceeded for credential index { current_credential_index } . Retrying with next credential." )
226229 current_credential_index += 1
230+ if current_credential_index >= credential_range_end :
231+ current_credential_index = init_credential_index
227232 continue
228233 else :
229234 print (f"ClientError: { e } " )
0 commit comments