PythonコンカレントAPIでインターフェースの同時呼び出しを実現する方法
Pythonでは、マルチスレッドやマルチプロセスを使用して並列インターフェイス呼び出しを実現できます。
- マルチスレッド化によるインターフェイスの並行呼び出しのサポート
import threading
import requests
def call_api(url):
response = requests.get(url)
print(response.json())
urls = ["http://api.example.com/endpoint1", "http://api.example.com/endpoint2", "http://api.example.com/endpoint3"]
threads = []
for url in urls:
t = threading.Thread(target=call_api, args=(url,))
t.start()
threads.append(t)
for t in threads:
t.join()
- マルチプロセスを使用してインターフェースを並列呼び出す。
import multiprocessing
import requests
def call_api(url):
response = requests.get(url)
print(response.json())
urls = ["http://api.example.com/endpoint1", "http://api.example.com/endpoint2", "http://api.example.com/endpoint3"]
processes = []
for url in urls:
p = multiprocessing.Process(target=call_api, args=(url,))
p.start()
processes.append(p)
for p in processes:
p.join()
マルチスレッドでもマルチプロセスでも、インターフェースを非同期で呼び出して処理を高速化できます。 ただし、インターフェースの非同期呼び出しはインターフェース・サーバーに大きな負荷をかける可能性があるので、実際にはインターフェース・サーバーの性能と要求に応じて適切な調整を行う必要があります。