PythonコンカレントAPIでインターフェースの同時呼び出しを実現する方法

Pythonでは、マルチスレッドやマルチプロセスを使用して並列インターフェイス呼び出しを実現できます。

  1. マルチスレッド化によるインターフェイスの並行呼び出しのサポート
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()
  1. マルチプロセスを使用してインターフェースを並列呼び出す。
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()

マルチスレッドでもマルチプロセスでも、インターフェースを非同期で呼び出して処理を高速化できます。 ただし、インターフェースの非同期呼び出しはインターフェース・サーバーに大きな負荷をかける可能性があるので、実際にはインターフェース・サーバーの性能と要求に応じて適切な調整を行う必要があります。

bannerAds