vodnok Posté(e) le 13 octobre 2004 Partager Posté(e) le 13 octobre 2004 Bonjour, Je voudrais savoir comment peut-on faire en php pour plannifier l'execution d'un script php. (A t elle heure ou toute les X minutes) (Je voudrais une solution en php) Dans la même lignée, comment peut-on bloquer l'éxécution d'un script. (Attente passive) Toujours dans le même domaine, comment peut-on à paritr d'un scirpt, lancer un script en "background" tout en continuant l'execution du script parent. (celui-ci ne devant pas attendre la fin d'execution du fils, enfin je crois que vous aviez compris)) Et la question bonus , malgré l'abscence de pointeur, est il possible d'utiliser quick sort en php? Comment faire un singleton en PHP? Singleton est une classe qui ne peut etre instancée qu'une seul fois avec des variable en static. Je n'ai jamas utilisé les classes en php c'est pour cela que je demande. Merci, ps: pas obligé de répondre à tout. Mais je me suis toujours possé ces questions alors je profite du moment pour demander. Lien vers le commentaire Partager sur d’autres sites More sharing options...
vodnok Posté(e) le 15 octobre 2004 Auteur Partager Posté(e) le 15 octobre 2004 Ai je frossé quelqu'un en étant trop direct? ou bien personne ne sait répondre? Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 15 octobre 2004 Partager Posté(e) le 15 octobre 2004 Pour la planification, je ne pense pas que ce soit possible sans être admistrateur. Pour le quick sort, je ne sais pas. Qu'est ce que tu veut trier ? Cherche sur nexus ou sur un site de référence dans les fonctions pour voir si ça existe. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ubik Posté(e) le 17 octobre 2004 Partager Posté(e) le 17 octobre 2004 Hello D'après ce que je sais, il n'y a pas de fonction explicite quicksort dans PHP. T'as des fonctions de tri style usort, uasort etc... mais pas de quicksort. Sinon tu peux trouver facilement sur le net des gars qui ont codé des classes PHP qui implémentent le Quicksort, mais plus souvent dans un but pédagogique... Sinon +1 Theocrite pour les privilèges administrateurs pour la planification de script - a la base t'as un temps d'execution max pour ton script et pour planifier une exécution de script, je ne vois que l'ajout d'une ligne dans la crontab... Pour le reste, je ne vais rien dire parce que je suis loin d'avoir le niveau pour ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 17 octobre 2004 Partager Posté(e) le 17 octobre 2004 D'après mon livre de référence et une recherche rapide sur le net, le tri n'existe pas (confirmation). Par contre, tu peut soit coder rapidement une fonction de tri en une vintaigne de lignes, soit récupérer une classe qui fait ça comme le suggère ubik. Mais en général les données qui ne sont pas statiques sont dans une base de données et le tri se fait à ce niveau là. Lien vers le commentaire Partager sur d’autres sites More sharing options...
vodnok Posté(e) le 18 octobre 2004 Auteur Partager Posté(e) le 18 octobre 2004 merci pour les réponses, C'est un simple tri de mots d'un texte donc les fonctions de base devraient suffire. Pour la plannification, je pense qu'il faudra passer par un soft tier. Un deamon qui lance les appels. Mais pour cela, faut avoir les privilèges nécessaires. Ce n'est pas chez un hebergeur gratuit voir même payant de première zone que l'on va m'autoriser à fairer tourner un programme. Enfin il y a certainement moyen de trouver cela. Si la plannifiaction n'existe pas en php comme tu dis, cela veut dire que l'attente passive d'un process non plus. Sinon il y aurai moyen de le développer. C'est domage tout de même. Si vous avez encore des idées n'hésitez pas, merci. Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 18 octobre 2004 Partager Posté(e) le 18 octobre 2004 Pour la planification, tu peut mettre une page vide qui fait la tâche que tu lui demandes et dans ton cron perso, tu met un appel à ta page (wget http://moi.com/), tout les 24 heures par exemple. Lien vers le commentaire Partager sur d’autres sites More sharing options...
savory Posté(e) le 18 octobre 2004 Partager Posté(e) le 18 octobre 2004 pour un singloton ( plus adapté en php5 ) : <?php Class kiki { static $inst; private function __construct() { //constructeur privé pour garder l'instanciation propre a la classe } static function getInstance() { if (empty(self::$inst)) { //si pas instancié on cree self::$inst= new kiki; } return self::$inst; // on retourne l'instance } } ?> Ca vaut pas encore le modele j2ee pour les appli web mais a force on s'en rapproche lol et pis le mode objet plus poussé de php5 permet de faire pas mal de design pattern supplementaires. Sinon pour la planification essaye de rajouter un cron via popen() de php ( meme chose qu'en C a par que le mode r/w est exclu c'est soit l'un ou l'autre ) Sinon pour un quick sort de base je ne pense pas que ca existe mais bon une tite fonction en plus ca fait pas de mal :) edit:tite erreur dans le code Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuyauman Posté(e) le 18 octobre 2004 Partager Posté(e) le 18 octobre 2004 Pour la planification, il y a Webcron.org. Pour lancer un script "enfant", il y a une solution (barbare), c'est d'appeler ce script coté serveur via quelque chose du genre <script =""> ... Vala Lien vers le commentaire Partager sur d’autres sites More sharing options...
vodnok Posté(e) le 19 octobre 2004 Auteur Partager Posté(e) le 19 octobre 2004 Webcron est-il fiable? Oui c'est une solution, sinon il y a toujours moyen de faire le même système depuis chez moi avec un petit pc connecté au web qui appel le script. Pour le singleton, c du tout bon. Merci, ps: et en ce qui concerne l'attente passive et l'execution de script en background? mais là je pense que ce n'est pas possible. Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 19 octobre 2004 Partager Posté(e) le 19 octobre 2004 Il y a des timeouts & memory limit pour les scripts. C'est important pour ne pas planter le server avec un script mal écrit. Lien vers le commentaire Partager sur d’autres sites More sharing options...
savory Posté(e) le 19 octobre 2004 Partager Posté(e) le 19 octobre 2004 ps: et en ce qui concerne l'attente passive et l'execution de script en background? mais là je pense que ce n'est pas possible. Comme je l'ai dit au dessus tu bricole un truc avec popen mais attention la grande majoritée des serveurs gratuits n'acceptent pas Pour verifier un ti code from scratch <? $cron = popen('crontab -l 2>&1', 'r'); // 2> $1 pour afficher stderr et r pour lecture seule $bla = fread($cron, 1048); echo $bla; pclose($cron); ?> Si tu as un "no crontab for apache " ou un "no crontab for www " c'est du tout bon :) Tu recommence le meme genre de script mais cette fois en w et tu peux ajouter ton crontab avec le script de ton choix. edit: Un front end via un script php http://sourceforge.net/projects/phpcron/ mais regarde le code a mon avis c'est remplit de bug mais c'est un bon depart pour s'inspirer. Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuyauman Posté(e) le 20 octobre 2004 Partager Posté(e) le 20 octobre 2004 Oui webcron est très fiable. En ce qui conncerne le timeout, ca se regle .... Exemple: mon IRC bot en php: http://www.wpc-fr.net/chat/bot/ Il tourne depuis 4 jours (Il y a eu un reboot apache à ce moment) Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 20 octobre 2004 Partager Posté(e) le 20 octobre 2004 En ce qui conncerne le timeout, ca se regle .... Seulement par les admins de la machine dans le php.ini comme le memory_max Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuyauman Posté(e) le 21 octobre 2004 Partager Posté(e) le 21 octobre 2004 Seulement par les admins de la machine dans le php.ini comme le memory_max Non ! voir ini_set Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.