環境
Mac
python3.6
課題
Watsonでたくさん画像認識リクエストを飛ばして、結果をあれこれいじって返す、的なことをしようとしたら、一枚一枚認識するのに時間がかかった
(1、2秒×枚数 くらいのイメージ)
解決方法
APIのリクエストを一気に送れないかと調べてmultiprocessingというライブラリに行き着く
結果、処理が早くなったので忘れないようにメモ
#関係するところだけ抜き出し
from multiprocessing import Pool
from multiprocessing import Process
p = Pool(len(items)) # 最大プロセス数
result_list = p.map(vr.url_recognize, items) #プロセス実行 (関数名,引数)
・結果はリストで帰ってきます
・poolでプロセス数指定して、mapで実行するイメージ