Articoli

Come risolvere il blocco di Node.js nelle Desktop App su Windows

Spesso in contesti industriali le macchine di gestione sono computer residenziali in cui sono configurate applicazioni ad hoc di controllo e management installate su PC Desktop.

Oggi il paradigma Web porta allo sviluppo di Desktop App Web based che sfruttano lo stack Front-End + Back-End anche in contesti desktop in cui normalmente, fino a qualche anno fa, si ritrovavano quasi esclusivamente applicazioni compilate e monolitiche.

Node.js come Back-end di applicazioni desktop Windows

Per uno dei nostri Clienti abbiamo realizzato un’applicazioni desktop industriale per la gestione di macchinari sfruttando la modularità e la potenza di Node.js per il back-end. Web Service in Node.js che aveva il compito di essere attivo in foreground e rispondere alle specifiche richieste che venivano dall’operatore tramite la User Interface(UI).

Windows, la gestione dei processi e delle priorità e come risolvere il blocco di un processo

Windows, come qualsiasi sistema operativo, ha propri algoritmi per la gestione delle risorse computazionali. Pertanto può accadere che, se i processi stanno per raggiungere il 100% di utilizzo della CPU, Windows ne interrompa alcuni che non giudica prioritari. Tale interruzione può essere un grave problema se il processo che Windows sceglie autonomamente di interrompere è proprio il nostro backend Node.js.

La soluzione per permettere al nostro back-end di essere sempre attivo in foreground è quella di indicare a Windows, in fase di startup dell’applicazione desktop e del relativo processo, di dargli massima priorità. Nel nostro codice Node.js è sufficiente scrivere:

const {exec} = require('child_process');
exec('wmic process where "ProcessId=' + process.pid + '" CALL setpriority 256');

Contattaci subito e senza impegno per troubleshooting e bugfixing di Desktop App

Glue Labs, Node.js e le Desktop App

Ti supportiamo nella progettazione e nello sviluppo di Desktop App anche integrate con sensoristica, PLC, sistemi robotici ed industrali. Grazie all’esperienza maturata in tantissimi settori, con numerosi Clienti e con un solido gruppo aziendale ti forniamo formazione avanzata e supporto per ottenere Desktop App con garanzia 12 mesi da qualsiasi bug. Contattaci subito e senza impegno per maggiori informazioni.