05-09-2010, 03:07 PM
(Modification du message : 05-09-2010, 03:10 PM par Sephi-Chan.)
Ta base de données ne revient pas en arrière. Tu as juste des connexion concourantes. Mais c'est ton système qui manque de robustesse. La tâche CRON lancée devrait ressembler à ça :
Et voilà ! Plus de problème, plus de retour en arrière, etc.
Bien sûr, il faut que tes tables utilisent le moteur InnoDB plutôt que MyIsam.
Sephi-Chan
$db->beginTransaction();
/**
* On met l'application en mode maintenance.
* Tous les joueurs qui essaient d'accéder à une page de jeu doivent être arrêtés.
* Comme ça, ils ne pourront pas effectuer d'action qui échouera à cause du lock
* imposé par cette transaction qu'on vient d'ouvrir.
*/
Application:tartMaintenance();
/**
* Ici, tu fais ici tout ce que tu as à faire dans ta base.
*/
Application::FinishMaintenance();
$db->commit();
Et voilà ! Plus de problème, plus de retour en arrière, etc.
Bien sûr, il faut que tes tables utilisent le moteur InnoDB plutôt que MyIsam.
Sephi-Chan