Forum >> Programmazione Python >> Scripting >> chiamata a funzione "asincrona" python 2.7

Pagina: 1

ciao, sto sviluppando uno script di monitor e notifica e ho un problema di questo tipo:
durante la fase di monitor, lo script rimane in attesa di un segnale. appena arriva un segnale, parte una funzione che notifica tramite post http ad un server che è avvenuto l'evento.

Ora, visto che la notifica impiega del tempo per essere inviata, se nel frattempo mi arriva un nuovo segnale....lo perdo!

Ho provato quindi ad utilizzare un multiprocessing.Process facendo ovviamente il p.start() e il p.join() ma dopo qualche ora di lavoro, mi trovo decine di processi aperti e tutti i processori al 100%...nonostante tutto stia andando apparentemente bene e senza errori....

sapreste consigliarmi un rimedio?

tra le varie prove ho provato anche con il modulo threading....stesso risultato...




PS

quando lo script andava senza lanciare un processo, il server manco si accorgeva di avere uno script che girava....
Non so darti la soluzione scritta, ma direi che quando un processo ha ricevuto il segnale deve abbandonare la scena.

Altrimenti devi vedere come instaurare un demone e la comunicazione col demone che aspetta i segnali e li inoltra. Vedi la documentazione

Ciao caro, visto che non vedo del codice posso solo ipotizzare e visto che il processo resta aperto, dovresti terminarlo in qualche modo.

La scelta della libreria la condivido, ma devi usarla con sapienza, altrimenti ti scoppia tra le mani ed ottieni esattamente quello che descrivi, una perdita significativa del controllo e un degrado delle prestazioni globali.

Cya



Pagina: 1



Esegui il login per scrivere una risposta.