Skip to content

Commit d8a7857

Browse files
authored
Merge pull request #619 from ddps-lab/aws-collector
Fix Credential Index Handling Error
2 parents a18df64 + ba6540b commit d8a7857

2 files changed

Lines changed: 20 additions & 10 deletions

File tree

collector/spot-dataset/aws/batch-test/sps/collect_sps.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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}")

collector/spot-dataset/aws/batch/sps/collect_sps.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,9 @@ def main():
195195
else:
196196
print(f"Target Capacity {target_capacity}에 대한 매핑이 존재합니다. 멀티쓰레드 실행 모드로 진행합니다.")
197197

198+
# ------ Set Credential Range ------
199+
credential_range_end = 1800 if init_credential_index == 0 else len(credentials)
200+
198201
# ------ Start Query Per Target Capacity ------
199202
start_time = datetime.now(timezone.utc)
200203
start_credential_index = current_credential_index
@@ -210,18 +213,20 @@ def main():
210213
try:
211214
credential = credentials.iloc[current_credential_index]
212215
args = (credential, scenarios, target_capacity)
213-
# 매핑 기록 (성공한 credential index 기록)
216+
df = query_sps(args)
217+
# 성공한 경우에만 매핑 기록 및 index 증가
214218
current_mapping[idx] = current_credential_index
215219
current_credential_index += 1
216-
df = query_sps(args)
220+
if current_credential_index >= credential_range_end:
221+
current_credential_index = init_credential_index
217222
df_list.append(df)
218223
break
219224
except botocore.exceptions.ClientError as e:
220225
if e.response['Error']['Code'] == 'MaxConfigLimitExceeded':
221-
print(f"MaxConfigLimitExceeded for credential index {current_credential_index - 1}. Retrying with next credential.")
222-
# 실패한 경우 다음 credential로 재시도 (매핑은 성공한 것만 기록)
223-
current_mapping[idx] = current_credential_index
226+
print(f"MaxConfigLimitExceeded for credential index {current_credential_index}. Retrying with next credential.")
224227
current_credential_index += 1
228+
if current_credential_index >= credential_range_end:
229+
current_credential_index = init_credential_index
225230
continue
226231
else:
227232
print(f"ClientError: {e}")

0 commit comments

Comments
 (0)