Ciao a tutti, sono due giorni che combatto con uno script Python che dovrebbe processare dati in tempo reale, ma dopo circa 3 ore si blocca misteriosamente. Ho controllato il loop principale mille volte: niente 'while True' evidenti, uso thread per I/O e logging. L'output si congela senza errori, devo killare il processo. Ho provato a inserire print() ovunque e log con timestamp, ma non vedo pattern strani. Qualcuno ha esperienza con situazioni simili? Vi incollo un pezzo sospetto:
async def process_data():
buffer = []
while await receive_packet():
# elaborazione qui
if len(buffer) >= 1000:
await upload(buffer)
buffer.clear() # potrebbe essere questo?
Potrebbe essere un problema di race condition? O magari il GC che non libera memoria? Accetto qualsiasi consiglio, tool per profiling inclusi. Grazie mille!
async def process_data():
buffer = []
while await receive_packet():
# elaborazione qui
if len(buffer) >= 1000:
await upload(buffer)
buffer.clear() # potrebbe essere questo?
Potrebbe essere un problema di race condition? O magari il GC che non libera memoria? Accetto qualsiasi consiglio, tool per profiling inclusi. Grazie mille!