05-09-2010, 09:49 AM
Bonjour,
Je post mon problème ici que je n'arrive pas à le résoudre depuis quelque jours et en cherchant sur google j'ai découvert ce forum qui correspond exactement à ce que je fait.
J'ai une tache cron qui s'exécute une fois par jours et vérifie le temps restant de chaque joueurs, chaque joueurs reçoit une semaine d'utilisation par paiement, la tache cron décompte le temps chaque jours ce qui permet d'envoyer une alerte par mail si le temps arrive à échéance 3 jour, 2 jours etc.
- imaginons l'exécution de cette tache cron
- un joueurs fait un paiement pour renouveler son temps au même moment
le paiement est accepter la bdd se met bien à jours et quelques secondes plus tard lorsque la tache cron est terminé le temps est revenu comme avant.
j'ai vraiment plancher sur la doc mysql concernant les transactions mais c'est vraiment à devenir fou ^^ je n'arrive pas a comprendre pourquoi ma transactions ne se place pas dans une file d'attente et procède à la modification après la tache cron.
voici ma transactions
Je post mon problème ici que je n'arrive pas à le résoudre depuis quelque jours et en cherchant sur google j'ai découvert ce forum qui correspond exactement à ce que je fait.
J'ai une tache cron qui s'exécute une fois par jours et vérifie le temps restant de chaque joueurs, chaque joueurs reçoit une semaine d'utilisation par paiement, la tache cron décompte le temps chaque jours ce qui permet d'envoyer une alerte par mail si le temps arrive à échéance 3 jour, 2 jours etc.
- imaginons l'exécution de cette tache cron
- un joueurs fait un paiement pour renouveler son temps au même moment
le paiement est accepter la bdd se met bien à jours et quelques secondes plus tard lorsque la tache cron est terminé le temps est revenu comme avant.
j'ai vraiment plancher sur la doc mysql concernant les transactions mais c'est vraiment à devenir fou ^^ je n'arrive pas a comprendre pourquoi ma transactions ne se place pas dans une file d'attente et procède à la modification après la tache cron.
voici ma transactions
Code PHP :
<?php
$BDD->setAttribute(PDO::ATTR_AUTOCOMMIT, false);
$BDD->beginTransaction();
$res = $DB->query("UPDATE tbl_gamer SET temps='$tempsajouter' WHERE gamer='$gamer'");
$BDD->commit();
Pour ma tache cron je fait un simple select id je récupère les champs temps je fait quelque conditions qui vérifie si le temps est plus que < 86400 par exemples si oui je lance une fonction qui envoi un mail au joueurs, mes table sont bien en INNODB .
Si vraiment quelqu'un pourrait me diriger vers une soluce ce serait vraiment cool.
Merci .