Secondo voi rischio il timout della pagina?

lorenzo84

Utente Attivo
22 Lug 2012
239
0
16
Ciao a tutti.
Sto realizzando una newsletter e sto cambiando il meccanismo di invio. Inizialmente volevo usare il crontab ma per una newsletter che invierà 30 mail all'anno lo trovo inutile e quindi ho realizzato un invio stile "paginazione" ovvero cliccando su un link viene inviato il gruppo successivo. In questo modo vengono inviate 20,30,50 mail per volta senza sovraccaricare il server per lo spam. Ora volevo automatizzare questo meccanismo per non dover cliccare avanti.
Il problema è evitare l'invio delle mail evitando il timeout della pagina, cosa possibile se ci sono tantissime mail da inviare. no?
Allora il meccanismo che ho messo in atto è il seguente:

Primo click dell'utente si viene indirizzati ad una pagina dove vengono inviate le mail.
Ogni 20 mail vi è un reindirizzamento alla stessa pagina ma con variabili diverse e cosi via fino
all'ultimo ciclo che reindirizza alla pagina di uscita dopo aver effettuato tutti gli invii.

Questa è la procedura, per ulteriore verifica viene salvato sul db il risultato dell'invio.

La mia domanda è: siccome viene effettuato un reindirizzamento il tempo di timeout ricomincia da zero o rischio di andare in timout?
grazie a tutti
 
Se effettui un redirect la sessione PHP viene chiusa e riaperta nella nuova pagina. Non c'è rischio di timeout.
 
Da quel che ho capito penso di no, comunque puoi eventualmente aumentare il max_execution_time (da php.ini oppure con set_time_limit())
 
Da quel che ho capito penso di no, comunque puoi eventualmente aumentare il max_execution_time (da php.ini oppure con set_time_limit())

Sì e lo setta a 30 minuti così la prima volta che una pagina del resto del sito ha problemi manda a lucciole il server :hammer:
 
Sì e lo setta a 30 minuti così la prima volta che una pagina del resto del sito ha problemi manda a lucciole il server :hammer:
I problemi vanno prevenuti non risolti in generale, comunque puo utilizzare set_time_limit() per aumentare il tempo di esecuzione SOLO in quella pagina.
 
Ultima modifica:
sulla maggior parte dei server quel tipo di direttive non funzionano purtroppo.

E i problemi van prevenuti, esatto, se si verifica un errore ed una pagina va in loop per errore e te ne accorgi dopo 2 ore non puoi rischiare che il server ti vada offline perché hai voluto usare una scorciatoia nel timeout
 
grazie per le risposte.

Non volevo aumentare il tempo di timeout ma prevenirlo in modo da evitare problemi.

E' possibile inserire qualche script che faccia capire all'utente che la pagina sta lavorando? tipo loading gif?
 
sulla maggior parte dei server quel tipo di direttive non funzionano purtroppo.

E i problemi van prevenuti, esatto, se si verifica un errore ed una pagina va in loop per errore e te ne accorgi dopo 2 ore non puoi rischiare che il server ti vada offline perché hai voluto usare una scorciatoia nel timeout
Almeno che uno non metta del codice a random non ci va in loop per errore, comunque o cosi o come sta facendo ora dato che non utilizza cron o altri software in background sul server
 
Sì, semplicemente stampa l'immagine nella pagina. O almeno credo.

Devi metterlo all'inizio della pagina.

Pensandoci bene puoi anche scrivere direttamente l'html senza farlo stampare da PHP :cool:
 
Sì, semplicemente stampa l'immagine nella pagina. O almeno credo.

Devi metterlo all'inizio della pagina.

Pensandoci bene puoi anche scrivere direttamente l'html senza farlo stampare da PHP :cool:

il fatto è che nella pagina dove avviene l'invio e di conseguenza i reindirizzamenti non è presente codice in html ma solo php e mentre carica rimane visualizzata l'ultima pagina. Io volevo inserire qualcosa che facesse capire all'utente che la pagina sta lavorando...

ho provato se metto echo("nomefoto") non appare niente....
 
Ultima modifica:
Se fai un redirect dovrebbe ricaricare la pagina... e comunque puoi scrivere del codice html nella pagina.

Sennò puoi fare una pagina che effettua chiamate Ajax al tuo script PHP, con quello puoi creare una immagine di caricamento molto precisa.
 
Se fai un redirect dovrebbe ricaricare la pagina... e comunque puoi scrivere del codice html nella pagina.

Sennò puoi fare una pagina che effettua chiamate Ajax al tuo script PHP, con quello puoi creare una immagine di caricamento molto precisa.

di ajax ci capisco poco. Avevo visto una guida prima qui su mrwebmaster e inserendola con i dati precisi funzionava cioè le mail le inviava ma non appariva alcun messaggio e se aggiornavo la pagina veniva "chiamata Fallita" ma in realtà aveva fatto tutto. Secondo me non gli andavano bene i reindirizzamenti..
 

Discussioni simili