PDA

Visualizza la versione completa : [Python] Scambio dati tra HTML (passando attraverso PHP) e applicazione Python che gira indipendente


andreagugu
25-01-2015, 12:56
Ciao a tutti,

ho un'applicazione su Raspberry PI che cicla con un "While True:", che gestisce determinate cose,
input/output, etc..
Vorrei agganciare a questo programma un'interfaccia web (HTML5) dove vorrei mostrare lo stato di
variabili interne al programma stesso.

Sono riuscito senza grossi sforzi a linkare la pagina a script Python leggendo gli input e output, ma sempre con script che al termine della chiamata finiscono con un Return..

Ora mi piacerebbe linkarmi ad un processo che cicla sempre.

Cosa mi suggerite? devo orientarmi più su metodi di memory sharing.. basta definire in qualche modo variabili "globali", oppure devo gestire una comunicazione col web-server?

Grazie
Andrea

MItaly
26-01-2015, 01:54
Una possibilità semplice è incorporare la logica web nello script che già hai usando, ad esempio, Flask o qualche altri micro-framework in esecuzione in un thread differente.

andreagugu
26-01-2015, 02:31
Sono d'accordo, devo fare alcune prove perchè i due processi dovranno necessariamente girare su 2 thread diversi.. quindi dovrò poi scambiare dati tra i thread.. non so come si fa, però cercherò in rete. Hai un esempio di scambio dati tra threads?

MItaly
26-01-2015, 03:15
I dati tra thread sono condivisi, ma devi usare l'accortezza di usare dei lock per proteggere le risorse in comune, altrimenti rischi di incorrere in problemi dovuti a race conditions. Un'alternativa più "tranquilla" può essere usare il modulo multiprocessing (che consente di lavorare con processi separati, quindi zero dati condivisi/zero rischi di fare casini con problemi di multithreading); in tal caso, per passare oggetti tra i processi si usano le queue o le pipe (https://docs.python.org/2/library/multiprocessing.html#exchanging-objects-between-processes).

Loading