Uhm, credo che potresti avere alcuni problemi. Prima di tutto consiglio caldamente di aggiungere quel controllo di timeout
per terminare la richiesta dopo tot secondi. In molte configurazioni questo non è un problema, perchè "max_execution_time" è solitamente settato a 30 secondi. Ma il funzionamento di uno script non dovrebbe essere legato alla configurazione. Ricorda che php è thread-based: più utenti si connettono, più processi occupi, meno risorse libere hai.codice:if ((time() - $startedAt) > 30) { die; }
Il problema principale è l'utilizzo di session_start() lì. Una volta aperta la sessione, l'accesso al file con i dati della sessione viene bloccato a tutti gli altri. E con tutta probabilità non vuoi che i tuoi utenti, una volta fatto partire questo meccanismo, siano impossibilitati ad aprire un'altra pagina, o ad aspettare che il processo termini da solo. Il mio consiglio quindi è di non aspettare la fine dello script per sbloccare la sessione: fallo tu richiamando session_write_close(). Fallo prima di entrare nel loop, e non dovresti avere problemi.