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

    ciclo importazione XML supera timeout Register

    Buongiorno a tutti.

    ho il seguente problema:
    ho realizzato uno script per importare un file xml fornito online da gestionale auto.
    eseguo un ciclo per analizzare i nodi e inserirli nel Dn del cliente.
    Fino a quando il cliente aveva al massimo una cinquantina di auto tutto andava bene, i problemi sono nati da quando il numero dei record è aumentato e lo script supera il timeout di 100 sec imposto da Register.

    ho provato con altre tecniche tipo scrivere su un array bidimensionale i campi letti dall'XML per poi fare un ciclo che leggesse l'array e scrivesse i dati su DB pensando la cosa si velocizzasse, ma tutt'altro.

    una soluzione che mi è venuta in mente sarebbe quella di spezzettare i cicli di lettura del XML, tipo 10 nodi alla volta, poi ricaricare la pagina per leggere i 10 successivi e così via, ma non ho idea di come poterlo fare.

    se volete posso postare lo script, anche se però è lunghissimo.

    grazie

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    - Parliamo della session.timeout() o di cosa?
    - Chiedere a Register di aumentare (che mi sembrono molto pochi) il tempo non è possibile?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    leggere un po' alla vota è di certo la soluzione migliore.

    non l'ho mai fatto con un xml ma penso che potresti creare un ciclo, contare fino a X, interrompere
    poi ripassi

    visto che si tratta di molti dati potrebbero nascere problemi se non hai alcuna interazione col file e quindi coi dati che hai già letto, ovvero escluderli dal recupero.

    un'ipotesi potrebbe essere quella di copiare il file sul tuo server e lavoralo con calma a tuo piacimento

  4. #4
    ho fatto delle prove leggendo i tempi di lettura del file XML e variano tra i 10 e i 12 secondi.
    quindi non è quello che porta via tanto tempo.

    poi ho misurato quanto ci impiegano le varie funzione di conversione di alcuni parametri per uniformarli al mio database, tipo convertire i nomi tipo "utilitaria, cabrio ...." in rispettivi ID della mia tabella e li siamo sui dai 6 ai 10 secondi circa.

    Il più del tempo è impiegato dal ciclo di scrittura degli UPDATE o INSERT sul DB.

  5. #5
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    forse hai delle procedure lunghe per gli UPDATE e INSERT, o forse sono un po' viziate.
    se non è così, ed è tutto ottimizzato e sintetico, ripropongo l'idea della copia.

  6. #6
    quindi un'idea di come posso spezzettare l'analisi di un file XML?

  7. #7
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Originariamente inviato da Vincent.Zeno
    penso che potresti creare un ciclo, contare fino a X, interrompere
    poi ripassi
    magari serve anche modificarlo aggiungendo un marcatore che identifichi "fatto" o (meglio) cancellare le voci già registrate.
    quando hai finito distruggi il documento.
    solo dopo consenti al sistema di cercarne uno nuovo

  8. #8
    se hai un db recente (MSSQL da 2005 in su, ad esempio) puoi far fare il lavoro al db stesso, velocizzando *moltissimo* l'operazione

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.