AWS lambdaのpythonで並列実行する方法
普通の並列実行は、こちらを参考にして実装できました。
lambdaで実行するとなると若干修正しました。
import time from multiprocessing import Process, Pipe hoge_list = [1, 2, 3, 4] def wait_and_print(i, *args, **kwargs): print(f'start {i}') for j in range(i): print(f'{i}: {j}') time.sleep(1) def lambda_handler(event, context): processes = [] parent_connections = [] for hoge in hoge_list: parent_conn, child_conn = Pipe() parent_connections.append(parent_conn) process = Process(target=wait_and_print, args=(hoge, child_conn,)) processes.append(process) for process in processes: process.start() for process in processes: process.join()