Ci sono riuscito!!!!
allora: per prima cosa conesnto l'import solo in caso di tabella dati vuota
in questo modo non devo fare una query aggiuntiva per controllare se esistono due timestamp uguali come nel caso dell'update dei dati dal dwonld02.txt
a questo punto setto il ciclo per generare il batch passando come argomenti l'inizio e la fine della singola operazione (intesi come riga)
a questo punto nel cilo di inserimento metto un if per controllare le righeCodice PHP:
// 105120 righe per un txt annuale ogni 5 minuti 80 batch da 1314 record
$j=0;
$k=1314;
for($i=0;$i<80;$i++){
$batch['operations'][] = array('meteo_admin_import_submit_import', array($fileabsurl,$station_id,$j,$k));
$j=$j+$k;
$k=$k+1314;
}
ecc ecc..Codice PHP:
if($i>$start && $i<=$end) {
//Escludo le prime 3 righe
if($i > 3){
// Le variabili della lista seguente devono rispecchiare i campi che compaiono nel file di testo
list(
$date,
$time,
$temp,
$tempmax,
$tempmin
adesso faccio altri test per evdere quanto ci mette
Ultima modifica di Lioz; 18/06/2009 alle 23:10
guarda tutto sembra funzionare
il problema è che forse ho sbagliato l'export del txt annuale (es 2008.txt)
non dovrebbe rispecchiare la forma del dwnld02.txt?
cambia qualcosa nella struutura e quindi nella logica da aplicarci sopra per estrarre i dati?
mmm continuava a fermarsi sempre nello stesso punto
sono andato a controllare ed effettivamente nel mio file 2009.txt ho notatao che
c'è una discontinuità nella formattazione...mi chiedo se è normale e se bisogna specificare qaulche opzione particolare per l'esportazione10/01/09 11.00 -0.4 -0.4 -0.5 84 -2.8 0.0 SSW 0.00 1.6 SSW -0.4 -0.6 -0.6 1029.2 0.25 0.0 0.065 0.000 22.0 27 2.1 20.2 113 1 99.1 5
10/01/09 11.05 -0.3 -0.2 -0.4 83 -2.8 0.0 --- 0.00 0.0 --- -0.3 -0.4 -0.4 1029.2 0.00 0.0 0.065 0.000 21.9 27 2.1 20.1 115 1 100.0 5
10/01/09 11.10 -0.2 -0.1 -0.2 83 -2.7 0.0 --- 0.00 0.0 --- -0.2 -0.3 -0.3 1029.2 0.00 0.0 0.064 0.000 21.9 27 2.0 20.0 117 1 100.0 5
10/01/09 11.15 0.1 0.2 -0.1 82 -2.7 0.0 --- 0.00 0.0 --- 0.1 -0.1 -0.1 1029.1 0.25 1.0 0.063 0.000 21.9 27 2.0 20.0 117 1 100.0 5
10/01/09 11.20 0.2 0.3 0.2 82 -2.5 0.0 SSW 0.00 1.6 SSW 0.2 0.1 0.1 1029.1 0.00 1.0 0.063 0.000 21.9 27 2.0 20.0 116 1 100.0 5
10/01/09 11.25 0.4 0.5 0.3 81 -2.5 0.0 SSW 0.00 3.2 SSW 0.4 0.2 0.2 1029.1 0.00 1.0 0.062 0.000 21.9 27 2.0 20.0 114 1 100.0 5
10/01/09 11.30 0.6 0.7 0.5 80 -2.4 0.0 SSW 0.00 3.2 SSW 0.6 0.4 0.4 1028.8 0.00 1.0 0.062 0.000 21.9 27 2.1 20.1 115 1 100.0 5
10/01/09 11.35 0.7 0.8 0.7 80 -2.3 0.0 SSW 0.00 1.6 SSW 0.7 0.6 0.6 1028.8 0.25 1.0 0.061 0.000 22.0 27 2.1 20.2 116 1 100.0 5
10/01/09 11.40 0.8 0.9 0.7 80 -2.2 1.6 SSW 0.13 3.2 SSW 0.8 0.6 0.6 1028.8 0.00 0.0 0.061 0.000 22.1 28 2.7 20.3 118 1 100.0 5
![]()
cmq per chi volesse provare qui trova il modulo con il procedimento batch aggiornato
http://www.signalkuppe.com/meteo.zip
aggiornato il modulino con piccoli miglioramenti e l'introduzione di un blocco con le condizioni attuali per ogni stazione inserita
http://www.signalkuppe.com/meteo.zip
bingo!
ora sembra andare anche l'import massivo
http://www.signalkuppe.com/meteo.zip
ho inserito la clausola IGNORE nella insert in modo da non inserire automaticamente dati con timestamp uguali, sia nell'update dei dati sia nell'import massivo
in questo modo ho velocizzato notevolmente il batch
dai che ci siamo..uno volta che abbiamo tutti i dati nel db è facile estrarre quello che si vuole![]()
Segnalibri