Re: /run/user/33
memcached è praticamente un database che puoi alimentare ed interrogare
in vari modi.
Se usi un qualsiasi mount tmpfs puoi poi dargli i permessi che ti pare.
Ho un amico che usa un sistema simile per la gestione della sua
domotica. Funziona, ma IMO è piuttosto "cervellotico" e scala malissimo,
con molte race condition possibili.
Da quel che hai detto finora, io farei così:
- i sensori mandano le letture con un POST ad un php
- il php salva i valori (eventualmente elaborati) dove serve, p.e. db o
memcache
- l'utente interroga un altro php che recupera i dati salvati dal primo
Tutto serializza bene e scala tranquillamente.
Diego
Il 14/11/2024 11:08, Leonardo Boselli ha scritto:
On Thu, 14 Nov 2024, Diego Zuccato wrote:
Ma quale sarebbe esattamente il problema? Se usi fpm, PHP gira con un
suo utente diverso da Apache (www-data). Comunque eviterei l'uso della
cartella socks.
spiego diversamante: ci sono diversi sensori ambientali che inviano [con
dei post in modo asincrono] o vengono interrogati [o con un processo in
cron, oppure richiamati dal processo che riceve i dati] e scrivono i
dati su un file di log.
Questo non è particolarmente critico in quanto cresce di circa 20 kB al
giorno.
in modo asincrono una richiesta di una certa pagina web deve ritornare
un contenuto comprendente due valori, che sono per l'appunto il
contenuto degli ultimi due campi dell'ultima riga del log [file CSV].
il tail può funzionare ma non mi pare elegante.
per quello avere quei due valori come unico contenuto di un file che
puoi usare in tanti modi mi sembrava il più semplice.
memcached non può essere usato come un file [passato come file di
configurazione per un comando !].
La domanda la pongo in maniera diversa: c'è in uno dei fs tempfs, ossia
che sta solo in ram, un posto dove possano essere dati accessi in
scrittura a www-data e un altro gruppo, in lettura per tutti per creare
questo file ?
[il fatto che sia in ram non è un problema, i dati sono comunque
presenti sul log, e se occasionalmente fosse vuoto è accettabile]
ho trovato a giro il suggerimento di usare /dev/shm che in effetti
funziona. . vado con quello ? (tanto è un file di massimo 48 byte)
Soluzione alternativa al disco: usa memcached.
Il processo aggiorna la entry di memcache, e php la legge. Semplice,
lineare, utile anche per altre cose.
Diego
--
Leonardo Boselli
Firenze, Toscana, Europa
--
Diego Zuccato
DIFA - Dip. di Fisica e Astronomia
Servizi Informatici
Alma Mater Studiorum - Università di Bologna
V.le Berti-Pichat 6/2 - 40127 Bologna - Italy
tel.: +39 051 20 95786
Reply to: