On Thu, 20 Mar 2025, Diego Zuccato wrote:
Il 19/03/2025 14:22, Leonardo Boselli ha scritto:
Premessa: i dati vengono o inviati da processi esterni creando dei file che
contengono all'interno il dato (o da solo o in un record CSV) oppure
aggiornati periodicamante da un processo cron
Hint: *standardizza* in un unico formato i dati da leggere. Cioè fai in modo
che da ogni sorgente arrivino nello stesso formato. Crei dei filtri per ogni
sorgente che convertono da quel che genera quella sorgente al formato che
intendi usare dopo. E già hai ridotto notevolmente la complessità.
sono tutti csv, con uno o più valori perché ogni lettura può fornire più
valri, di fenomeni differenti.
1. se ho uno script bash posso fare i test su variabili locali o varibili
di ambiente. Come faccio a fare il test sul contenuto di un file, senza
dovere fare prima un varlocale=`cat file` ?
Che test devi fare sul contenuto? Per capire se è stato aggiornato può essere
sufficiente analizzare i metadati, ma se devi proprio guardare il contenuto
lo devi leggere e parsare.
il problema è che in genere ogni script sarebbe un:
while [ NOW -lt $c ]
do
sleep 20
aggiorna-status-variabili
if [VAR-A -lt $a && VAR-B -lt $b ]
then
esegui-quello-che-deve-fare
break
else
sleep 20
aggiorna-status-variabili
fi
done
ora NOW è il tempo ... come la infilo nel loop (ossia il loop attende che
si verifichino de condizioni su VAR-A e VAR-B, ma solo fino a un certo
orario.
1bis. nel test di bash come metto una formula ?
Dipende dalla formula.
vedi sopra ...
2. la presentazione viene fatta da uno script php, in certi casi però è
necessario che questo script "solleciti" i dati aggiornati.
il modo più semplice è fare una chiamata http al server remoto, che però
fornsce un record json .
E già nobbuono. Se servono i dati aggiornati, non deve (generalmente) essere
la presentazione a richiederli ma il filtro di ingresso.
la presentazione sa QUANDO gli servono i dati aggiornati, e quindi
sollecita l'aggiornamento solo quando gli servono veramente. misurare
certi valori "disturba" il fenomeno misurato, per cui se li chiedi troppo
spesso, il valore ha un errore dovuto al disturbo della misura.
Quindi devi usare
$ob['gate:1']['action']
$ob['gate:1']['res'][0]
$ob['gate:1']['res'][1]
FUNZIONA !!!!!!
a questo punto mi sa che lo script lo faccio direttamante in php
Grazie per l'aiuto !
--
Leonardo Boselli
Firenze, Toscana, Europa