Visualizzazione dei risultati da 1 a 3 su 3

Discussione: durata script

  1. #1

    durata script

    salve,
    ho fatto un piccolo file in php che deve leggere da un database una tabella di 15mila articolo.
    Successivamente deve fare 2 insert per ogni riga letta nella precedente query.

    C'è un problema però, la durata di tutto fa andare uin timeout il mozilla che mi dice:
    Tempo per la connessione esaurito

    Io uso xampp come server localhost. così ho modificato in php.ini la voce "max_execution_time" ma evidentemente non è sufficiente, non supera i 300 secondi.

    Come poso superare questo ostacolo?
    Ultima modifica di DUMAX; 31-05-2014 a 15:05

  2. #2
    ho appena provato con internet Explorer ed ha superato il limite dei 300 secondi senza che io abbia fatto niente.
    Deduco che il limite sia imposto da firefox.
    Ma è possibile una cosa del genere?

  3. #3
    No, il limite non è imposto dal browser ma da php: è possibile che nella seconda esecuzione mysql si fosse preparato ad una simile mole di lavoro e quindi sia stato più rapido.

    Hai due strade per aggredire il problema: se lo script dev'essere eseguito solo sul tuo server di sviluppo, allora puoi tranquillamente settare il max_execution_time a 0, il che permette agli script di andare avanti per sempre.

    Se, invece, dev'essere eseguito su un server in produzione, devi metterti in condizioni di poter richiamare più volte lo script, facendo in modo che ogni volta processi solo un numero ridotti di record, ma che alla chiamata successiva proceda di lì in poi:

    script.php -> Processa 100 record dall'inizio della query (dallo 0 al 99), poi richiama...
    script.php?indiziada=100 ->Processa altri 100 record (dal 100 al 199), poi richiama...

    e così via; in questo modo potrai tenere sotto controllo il tempo di esecuzione massimo di ogni singola chiamata, ma potrai processare grandi moli di dati in più esecuzioni sequenziali.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

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 © 2025 vBulletin Solutions, Inc. All rights reserved.