728x90
반응형
OpenAPI에서 데이터를 받아오는 과정에서 순차적으로 처리하여 데이터를 가져오게 되면 시간이 많이 소요된다.
이를 순차적(일괄적)이 아닌 병렬로 처리하게 하면 많은 시간을 절약할 수 있을 것으로 생각할 수 있다. 그래서 그 방법의 예제를 만들어 봤다.
예를 들어 a,b,c,d,e라는 데이터를 얻고자하는 코드를 작성했는데 이 것을 한번에 실행시켜서 데이터를 가져올 수 있도록 하고 싶다.
import concurrent.futures
# 함수 예시: 데이터 수집
def a():
# 데이터 수집 작업 수행
data = "Data from A"
return data
def b():
# 데이터 수집 작업 수행
data = "Data from B"
return data
def c():
# 데이터 수집 작업 수행
data = "Data from C"
return data
def d():
# 데이터 수집 작업 수행
data = "Data from D"
return data
def e():
# 데이터 수집 작업 수행
data = "Data from E"
return data
# 병렬 실행을 위한 Executor 생성
executor = concurrent.futures.ThreadPoolExecutor()
# 작업 함수 리스트
funcs = [a, b, c, d, e]
# 작업 함수를 병렬로 실행
futures = [executor.submit(func) for func in funcs]
# 실행된 작업 결과 수집
results = []
for future in concurrent.futures.as_completed(futures):
result = future.result()
results.append(result)
# 결과 출력
for result in results:
print(result)
이렇게 하면 병렬적으로 데이터를 수집 할 수 있다.
728x90
반응형
'파이썬' 카테고리의 다른 글
파이썬으로 엑셀로 저장할 때 수식을 넣어서 연동 (0) | 2023.07.28 |
---|---|
파이썬으로 엑셀 행 높이 자동조절하는 코드 (0) | 2023.07.28 |
PDF문서에 표 데이터를 수집하는 방법. (0) | 2023.06.16 |
ChatGPT로 이미지 생성하는 2가지 Two ways to generate images with ChatGPT (0) | 2023.04.17 |
시놀로지nas를 활용해서 SHH 접속 문제해결 Using Synology NAS to resolve SSH connection issues. (0) | 2023.03.11 |