Python Async Patterns
Async i Python er noget rod hvis man ikke ved hvad man laver. Her er mine erfaringer efter at have debugget alt for mange race conditions.
Problem 1: Blokerende kald i async kode
Det her er en klassisk fejl som alle laver:
async def fetch_data():
# FORKERT - requests blokerer hele event loopen!
response = requests.get("https://api.example.com")
return response.json()
Brug istedet aiohttp eller httpx:
async def fetch_data():
async with aiohttp.ClientSession() as session:
async with session.get("https://api.example.com") as resp:
return await resp.json()
Problem 2: Glemmer at awaite
# Dette returnerer en coroutine, ikke resultatet!
result = fetch_data() # Mangler await
Konklusion
Async er powerfult men kræver disciplin. Start simpelt og byg op.