コードレビュー上級20

レビュー: 非同期処理の問題

pythonasyncasyncioconcurrencyawait

コードレビュー課題

以下のPythonコードをレビューしてください。

背景

このコードは複数のAPIから非同期にデータを取得し、処理するシステムです。asyncio/awaitを使用して並行処理を実現しています。

レビュー観点

  • await漏れ
  • イベントループの扱い
  • 非同期コンテキストマネージャー
  • 例外処理

あなたの回答

async_api.pypython
import asyncio
import aiohttp
async def fetch_multiple_apis(urls):
"""Fetch data from multiple APIs"""
results = await asyncio.gather(*[fetch_data(url) for url in urls])
return results
def fetch_data(url):
"""Fetch data from a single API"""
return fetch_api(url)
async def fetch_api(url):
"""Actual API call"""
with aiohttp.ClientSession() as session:
response = session.get(url)
data = response.json()
return data
async def process_results(results):
"""Process API results"""
processed = []
for data in results:
result = process_data(data)
processed.append(result)
return processed
async def process_data(data):
"""Process single data item"""
return {"processed": data}
行番号をクリックしてコメントを追加(Shift+クリックで範囲選択)

最低100文字必要です

0

コメントを追加し、サマリーを100文字以上入力してください

模範解答

回答を送信するか、「表示する」をクリックすると模範解答が表示されます。