J'ai un fichier php qui est déclenché par un cronjob chaque minute.PHP sleep() boucle interne ne pas mettre à jour DB
Lorsque le fichier php est tiré, il met à jour la base de données, capacité d'accueil, etc
Il est programmé comme ceci:
$start = microtime(true);
set_time_limit(10);
for($i=0;$i<5;$i++)
{
updateDB();
time_sleep_until($start + $i + 1);
}
Si ce morceau de code est exécuté, je ne vois pas de changements qui se produisent dans la base de données. Une autre chose que je remarque est quand je fais écho à quelque chose qui est imprimé lorsque la boucle est terminée en une seule pièce.
[modifier] J'essayé d'utiliser chasse d'eau et ob_flush, mais il n'a toujours pas la ligne d'impression pour la ligne [/ edit]
Que puis-je faire pour éviter ces erreurs. La base de données doit être mise à jour. Une autre chose que je me demandais est quelle est la meilleure façon de se connecter ce genre de chose. Puis-je enregistrer les résultats dans un fichier journal?
Vos échos peuvent être tamponnés. Appeler flush après chaque écho leur permettra probablement d'imprimer immédiatement. –
salut, merci pour la réponse. J'ai essayé d'utiliser le flush, mais il n'y avait pas de différence. –
Désolé, j'ai eu des problèmes différents, la chasse fonctionne maintenant, tout va bien. Je vous remercie. –