Changeset 82761 in spip-zone


Ignore:
Timestamp:
May 26, 2014, 10:53:28 PM (5 years ago)
Author:
rastapopoulos@…
Message:

Ben purée de crotte de bique de merde !
Je n'arrive même pas à comprendre comment ça pouvait marchait avant en fait…

Finalement il n'y avait aucune "erreur" mais un problème de Timeout : le test s'il restait du temps se faisait après avoir déjà *réussi* à indexer les 1000 suivants, mais du coup ça quittait *avant* d'avoir pu enregistrer la "partie" suivante !

Si par exemple on en était à la partie 5, ça indexait entre 5000 et 6000, et s'il y avait Timeout juste après, ça n'avait pas encore incrémenté à partie=6 (ni donc mis 6 en mémoire dans la meta). Et donc ça rejoutait indéfiniment le même bloc de 1000…

On teste donc s'il reste du temps *avant* d'indexer 1000 mais *après* avoir mis la valeur en meta.

Pfiou…

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/indexer/trunk/Sources/SpipSourcesIndexer.php

    r82434 r82761  
    180180            $part = $parts->current();
    181181            $stats['last']['part'] = $parts->key();
    182             $this->indexSourcePart($source, $skey, $part, $stats);
    183 
     182           
     183            // on regarde s'il reste du temps AVANT d'indexer les 1000 suivants
    184184            if ($this->isTimeout()) {
    185185                $t = spip_timer('source', true);
     
    187187                return false;
    188188            }
     189           
     190            $this->indexSourcePart($source, $skey, $part, $stats);
    189191            $parts->next();
    190192        }
Note: See TracChangeset for help on using the changeset viewer.