JeuWeb - Crée ton jeu par navigateur
cron se lance 2 fois - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : cron se lance 2 fois (/showthread.php?tid=6929)

Pages : 1 2 3


RE: cron se lance 2 fois - starmindfr - 25-02-2014

avec la commande php-cli tu veux dire ? en fait quoi que je tape en "cron" c'est dedoublé, meme en tapant n'importe quoi (une ligne bidon / fausse) sans php ou autre. et cela fonctionnait parfaitement avant.

bon j'ai du modifier un poil ma bidouille, pour verifier que le fichier lock date de + de 30 secondes, condition pour relancer le script. Ca semble bien fonctionner pile poil.


RE: cron se lance 2 fois - GeGe_KAT - 25-02-2014

Les traces sont identiques ! Sad En gros, aucune piste... Je reviens vers toi si j'ai une idée mais pour le retry, je sais pas.

(Le fichier de lock t'aide pour le moment, mais ça résou pas le problème : si tu dois le faire à chaque fois, ça va être lourd...)


RE: cron se lance 2 fois - MadMass - 25-02-2014

Je pense que tu peux le lancer avec le shell, suffit de faire "php chemin_du_script.php", et ça t'output les erreurs dans le shell Smile


RE: cron se lance 2 fois - starmindfr - 25-02-2014

oui mais il n'y a pas d'erreurs :$ le seul probleme c'est que ca lance 2 fois la commande en instantané et ca arrive meme a me creer des doublons dans mes tables sql (je purge les lignes en debut de script, mais avec les 2 instances ca arrive a me reecrire apres la purge)


RE: cron se lance 2 fois - Xenos - 25-02-2014

Voir la fin de cette réponse: il se peut qu'un doublon de process, vieillot, traine. L'hébergeur te dis peut être "il n'y a qu'un seul cron qui tourne", mais en réalité, il y a deux serveurs virtuels en double, chacun avec un seul cron, et donc, ces deux serveurs se marchent dessus.


RE: cron se lance 2 fois - GeGe_KAT - 25-02-2014

Déjà proposé qu'il y ait deux crons qui tournent... Si c'était le cas, les ppid ne seraient pas identiques. Chaque exécution aurait un ppid à lui, correspondant au process cron qui l'a lancé.


RE: cron se lance 2 fois - starmindfr - 25-02-2014

oui en effet j'avais aussi tester de mon coté le output des id sans rien voir de particulier, ca semble le plus logique mais visiblement ca n'est pas le cas


RE: cron se lance 2 fois - Xenos - 25-02-2014

Mais ces ppid seraient forcément différents si deux serveurs virtuels font tourner chacun un cron? Y'a pas la possibilité, puisque les deux serveurs (virtuels) sont indépendants, que le ppid soit identique sur les deux (par hasard statistique)?


RE: cron se lance 2 fois - GeGe_KAT - 25-02-2014

Une machine virtuelle possède sa propre gestion des pid, donc si deux serveurs virtuels (issus de machines virtuelles) font tourner chacun leur cron, ils peuvent avoir le même pid (1 chance sur 32768, par défaut). Mais je doute surtout que ces deux serveurs virtuels (indépendants) traitent la même table de cron. C'est sensé être cloisonné à leur niveau, l'un n'a pas accès aux ressources de l'autre.

De plus, c'est pas dit que à chaque utilisateur corresponde un cron. Starmindfr ne peut pas gérer lui-même sa table de cron. Si c'est un serveur mutualisé / virtuel, cela fontionne surrement suivant le principe suivant : chaque utilisateur ajoute ses tâches par l'IHM qui sont ajoutées dans une table de cron générale de la machine. Et un seul cron (normalement) appel ces tâches, quelque soit l'utilisateur final. Tout ça pour dire que si on double le process appelant, il a forte qu'il soit sur la même machine, et que donc il n'aient pas les même pid.

(Après, je connais pas le détails de la config de Starmindfr, j'imagine juste que c'est pas un dédié vu qu'il n'a pas de shell).


RE: cron se lance 2 fois - starmindfr - 25-02-2014

il y a bien un shell mais ca ne m'aide pas plus car les sécurités brident certaines commandes comme crontab -l et le grep

ce n'est pas du dédié et j'ai même penser que cela pouvait venir des sous domaines / php mais en les enlevant ca fait la meme chose