Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    esecuzione script newsletter

    Ho realizzato uno semplice script per una newsletter così strutturato:
    1) prendo i dati della newsletter dal database e compongo il messaggio in formato html e testo
    2) Attraverso un ciclo while estraggo gli utenti della newsletter dal database e invio una email alla volta.
    3) in pseudocodice ecco il ciclo while
    Codice PHP:
    while ($iscritto mysql_fetch_array($result)) {    
        
          
    set_time_limit(30); // a ogni ciclo reimposto il tempo di esecuzione dello script

         // qui va il codice di invio email del messaggio

         
    usleep(500000); // aspetto mezzo secondo prima del nuovo ciclo

    }

    // qui va il messaggio di conferma di fine esecuzione dello script 
    attraverso set_time_limit() reimposto a ogni ciclo il tempo di esecuzione dello script che altrimenti andrebbe in timeout nel caso impiegasse più tempo di 30 sec ad eseguirsi. con usleep() posso ritardare di tot secondi l'invio dell'email per non intasare il server di posta.

    Sto testando con circa 2000 indirizzi e sembra funzionare bene, a patto di non chiudere la pagina di invio finchè il processo non è terminato. il problema è che al termine dell'esecuzione lo script mi dovrebbe visualizzare il messaggio di conferma, invece mi rimane freezata la pagina di invio, pur avendo portato a termine correttamente l'invio delle 2000 email.


    p.s.
    So che questa operazione sarebbe stato meglio svolgerla in background, ma proprio non mi trovo con shell e cronjob, e non sono riuscito ad usare exec(), che inoltre mi pare di aver capito non accetta il passaggio di parametri in get o post, ma solo da shell.

  2. #2
    non è che per ottenere l'output di conferma dopo un tempo di esecuzione così lungo bisogna utilizzare flush()?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.