コードレビュー上級約20分
レビュー: 非同期処理の問題
pythonasyncasyncioconcurrencyawait
コードレビュー課題
以下のPythonコードをレビューしてください。
背景
このコードは複数のAPIから非同期にデータを取得し、処理するシステムです。asyncio/awaitを使用して並行処理を実現しています。
レビュー観点
- await漏れ
- イベントループの扱い
- 非同期コンテキストマネージャー
- 例外処理
あなたの回答
async_api.pypython
import asyncioimport 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文字必要です
コメントを追加し、サマリーを100文字以上入力してください
模範解答
回答を送信するか、「表示する」をクリックすると模範解答が表示されます。