İçeriğe geç

Executor kapatılmamış (ARCH2040)

Anahtar python.async.executor-not-shutdown · Önem warning · Kategori async

Bir ThreadPoolExecutor veya benzeri havuz oluşturulup shutdown() çağrılmadan ya da context manager içinde kullanılmadan bırakıldığında, daemon olmayan thread’ler sızar ve süreç temiz kapanamaz.

from concurrent.futures import ThreadPoolExecutor
def run(tasks):
pool = ThreadPoolExecutor(max_workers=4) # hiç shutdown edilmez
return list(pool.map(work, tasks))
from concurrent.futures import ThreadPoolExecutor
def run(tasks):
with ThreadPoolExecutor(max_workers=4) as pool:
return list(pool.map(work, tasks))

Executor’ı with bloğu içinde kullanın ya da işiniz bitince shutdown() çağırın.