Cicli su resultset molto grandi

Salve a tutti,

ho circa 10000 records/utenti e vorrei inviare una email ad ognuno di loro. Ho realizzato una coda di invio email ma non riesco a crearla facilmente quando i records sono così tanti.

C'è un modo per poter inserire 10000 records in coda pronti per essere riletti ed inviate le rispettive emails?

Esisto dei modi che mi permettono di non gravare sulle risorse così tanto?

Grazie mille

Ulisse

 :bye:

inviato 9 anni fa
ulisse
X 0 X

potresti procedere a blocchi di 100 alla volta:

1) chiami la pagina invia_email.php?num=1

2) estrai 100 record dal database, partendo dal primo

3) invii le 100 email

4) invia in output una pagina che via javascript si ricarica dopo 5 secondi, puntando all'URL  nvia_email.php?num=101

5) ripeti dal punto 2, estraendo le 100 email iniziando dalla 101

6) ...

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Il sistema dovrebbe partire via cronjob.

Non so quanto funzionerebbe il tuo sistema ma è una bella idea. :)

 :bye:

risposto 9 anni fa
ulisse
X 0 X

il metodo che ti ho detto non funziona via cron, ma con un accesso diretto di un operatore alla pagina web (per colpa del redirect)

Con un cron la cosa è più semplice. Hai 2 strade: richiami lo script php che, dopo aver disabilitato il tempo massimo di esecuzione, provvede ad inviare le mail a gruppi di X alla volta e ad effettuare delle pause di Y secondi tra un invio ed un'altro. Oppure programmi molteplici cron job che si occupano di inviare i gruppi di email.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda