[LugBS] Processi php
Francesco
francesco a gibilogic.com
Lun 3 Nov 2014 17:34:20 UTC
Il 03/11/2014 15:28, Marco Manenti ha scritto:
> (...)
> Ora: ho limitato il più possibile l'accesso allo script php ma ogni
> tanto, soprattutto se gli utenti caricano tanti file contemporaneamente
> (oppure pochi file ma con tante pagine) apache si arrabbia.
>
> Soluzione: è possibile utilizzare una sorta di "coda" per l'esecuzione
> di script php?
Risposta breve: è possibile, consiglio PHP CLI + Supervisord.
Risposta dettagliata
La soluzione ideale a un problema come il tuo è l'elaborazione in
modalità asincrona. Ovvero:
* l'utente carica il file e poi il suo lavoro è finito (la pagina web
dice "Il tuo file è stato caricato e verrà elaborato a breve") - in
questo modo l'utente non deve attendere
* uno script php eseguito via CLI sempre in esecuzione (o schedulato
ogni pochi minuti) effettua il lavoro successivamente - via CLI,
l'esecuzione è molto più veloce dato che non c'è Apache in mezzo ai maroni
Nota: sconsiglio un cron che esegue l'applicazione ogni minuto o giù di
li, consiglio invece un PHP sempre in esecuzione (ciclo infinito, con i
controlli del caso).
Per "demonizzare" il processo consiglio Supervisord.
--
Franz
Maggiori informazioni sulla lista
Lug
|