İçeriğe geç

Ateşle ve unut görevi (ARCH2021)

Anahtar python.async.fire-and-forget-task · Önem warning · Kategori async

Bir coroutine veya task’ı bekletmeden, atamadan ya da döndürmeden ifade olarak bırakmak istisnaların yutulmasına ve sıralamanın belirsizleşmesine yol açar. Görev arka planda kontrolsüz çalışır ve başarısızlıkları sessizce kaybolur.

import asyncio
async def handle():
asyncio.create_task(send_email()) # beklenmiyor, hatalar kaybolur
return "ok"
import asyncio
async def handle():
task = asyncio.create_task(send_email())
await task
return "ok"

Oluşturulan task’ı bekletin, döndürün veya bir TaskGroup ile ömrünü ve istisnalarını yönetin.