Domanda

Il mio obiettivo è avere un'applicazione Python che esegue un server Web che ospita l'interfaccia utente e in base alle interazioni di un utente nel proprio browser, le attività a lungo termine vengono iniziate e tramite alcune processi, le informazioni sullo stato del feed sul server web Successivamente torna al browser.

L'applicazione non dovrà essere utilizzata da più di 1 persona alla volta e se 2 o più utenti accedono all'URL, lo stato dovrebbe essenzialmente essere condiviso in tutti i casi. Cioè ogni utente lo fa non avere una sessione di accesso univoca.

Lo scopo principale dell'applicazione sarà quello di mantenere un elenco di dispositivi che scopre automaticamente sulla rete e sondarsi tali dispositivi ogni 30-60 secondi e aggiornare l'interfaccia utente se viene utilizzata. Inoltre, l'utente può selezionare uno o più di tali dispositivi e emettere comandi o aggiornare il proprio software. Nell'istanza dell'aggiornamento del software, vorrei averlo abbastanza reattivo dove potrei mostrare barre di avanzamento in tempo reale per ciascun dispositivo che mostra quale % del firmware è stato caricato.

Il mio pensiero iniziale è qualcosa come Web.py o Cherrypy per la GUI, ora sono bloccato sul metodo migliore per dare il via a quei processi dal server web e come alimentare le informazioni. Stavo pensando di avere dei demoni ascoltare i comandi su una presa che l'app Web avrebbe inviato e avrebbe usato le prese per passare lo stato avanti e indietro tra il demone e il web. Quindi ho ancora bisogno di ottenere queste informazioni senza intoppi da web a client, quindi stavo pensando a Websocket per questo.

Sto solo cercando consigli su alcune buone pratiche per far comunicare avanti e indietro l'interfaccia Web tra i lavoratori effettivi e quindi come ottenere i dati dal lavoratore al server Web al browser client.

Le forze trainanti dietro l'uso dell'approccio basato sul browser è che il sistema stesso deve essere eseguito su hardware a basso costo che esegue Linux su X86 (non ARM) con piccole quantità di memoria. Potrebbe essere un'app GUI che abbiamo vnc in una macchina da usare, ma il metodo senza testa mi è sembrato migliore. Non sono legato al 100% a questa idea se qualcuno può suggerire alternative migliori.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top