r12800 - branches/spip-2.0/ecrire/base branches/spip-2.0/ecrire/exec branches/spip-2.0/ecrire/inc spip/ecrire/base spip/ecrire/exec spip/ecrire/inc

Author: esj@rezo.net
Date: 2008-09-26 22:27:37 +0200 (ven, 26 sep 2008)
New Revision: 12800

Log:
En produisant du JavaScript avec un Set-Timeout-Reload à 0, le processus d'importation programmaait sa relance avant d'avoir signalé dans les meta qu'il avait fini. Une commutation de processus juste à ce moment, et hop la base était réimportée (résultat identique mais double temps de calcul), et pour l'insertion c'était franchement la plaie: des doublons en pagaille, et même pas forcément exactement le double. Correction en lançant le Time-Out totalement à la fin, et en évitant d'en produire un 2e lors de la 2e passe de l'insertion.

Autre amélioration: à chaque reprise on vérifie que le fichier archive est toujours là, autrement on arrête proprement. Du coup, si pour une raison ou une autre (archive corrompue en particulier) le processus de restauration coince, il suffit de renommer l'archive pour récupérer la main (avec une base probablement pas cohérente, mais c'est déjà ça).

Modified:
   branches/spip-2.0/ecrire/base/import_all.php
   branches/spip-2.0/ecrire/exec/import_all.php
   branches/spip-2.0/ecrire/inc/import.php
   spip/ecrire/base/import_all.php
   spip/ecrire/exec/import_all.php
   spip/ecrire/inc/import.php

Details: http://trac.rezo.net/trac/spip/changeset/12800