Qualche settimana fa avevo fatto un post che chiedava suggerimenti su come
attivare al volo dei processi ecc ecc. Ruguardanto tutto ho deciso di
adottare un diverso metodo, che non richiede processi separati in ascolto
su porte diverse.
Tuttavia mi sono scontrato in due "piccoli" problemi, probabilmente
facilmente risolvibili in modo elegante, ma per ora ho trovato solo modi
"macchinosi".
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
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` ?
1bis. nel test di bash come metto una formula ?
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 .
Questo recold viene decodificato senza problemi con jq ma mi sono trovato
di fronte a un grosso problema con php, o chiesto a esperti di quel
sistema, ma non hannop saputo dare rispposte valide, e tutti gli esmpi
fanno riferimento a record jso "piatti".
Il record che mi arriva è del tipo
{"nome":"as001","gate:1":{"last_time":1742374708,"action"=1,"res":[0.04,19]},"gate:2":{"last_time":1742374718,"action"=3,"res":[1.00,0.99]}}
e a me servono gate:1.action e i due valori di res . ma in php non sono
riuscito a trovare un modo di tirarli fuori, dovo aver dato
$ob=jsondecode($record);
(ma var_dump($record) me li fa vedere tutti, quindi la decodifica è giusta
...)
-- Leonardo Boselli
Firenze, Toscana, Europa
http://i.trail.it