도쿄사는 외노자

parallel execute sample 본문

Tech/Python

parallel execute sample

Enrai 2023. 12. 6. 19:36

concurrent.futures

https://docs.python.org/3/library/concurrent.futures.html

ThreadPoolExecutor

지정한 함수를 병렬기동

from concurrent.futures import ThreadPoolExecutor

def parallel_execute(function, args_list, max_workers=20):
    futures = []
    with ThreadPoolExecutor(
        max_workers=max_workers, thread_name_prefix="thread"
    ) as pool:
        for args in args_list:
            future = pool.submit(function, *args)
            futures.append(future)

    return [fut.result() for fut in futures]

사용법

translate_story 함수를 병렬기동하고 싶은 경우, 함수의 파라메터의 배열을 만들어서 넘기면 됨

def translate_story(title, df):
    df['story'] = df['name'].apply(lambda x: translate(x))
    return df

grouped_by_title = df.groupby('title')
args = list(grouped_by_title)

result = parallel_execute(translate_story, args)

'Tech > Python' 카테고리의 다른 글

poetry 사용법 메모  (0) 2024.06.23
2024년의 Python 프로그래밍  (0) 2024.02.05
newspaper로 네이버 뉴스 가져오기  (0) 2022.06.10
Beautiful Soup로 뉴스 내용 가져오기  (0) 2022.06.10
Requests & BeautifulSoup 기본기  (0) 2022.06.03