IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Script en tache de fond ou en boucle infinie


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    zesavantfou
    Invité(e)
    Par défaut Script en tache de fond ou en boucle infinie
    Bonjour,
    Pour les besoin de mon site, un script php qui ne dépend ni des utilisateurs ni d'aucun évènement extérieur, doit tourner en continue sans interruption à l'infini (il interagit avec la bd).

    Ma solution etait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ignore_user_abort(1);
    while(1)
    { ......
    je sais que les puriste me diront "jamais de script en boule infini" et d'autres diront "il y a des langages pour ca", mais moi je n'ai que cette solution, le php uniquement.

    Le problème est que script ne semble pas continuer a s'exécuter quand je fait appel a la page pour le démarrer pour je la ferme.

    J'ai vu aussi qu'il y a exec(), mais comment ca marche, il faut l'écrire dans une page l'appeler une fois et c'est bon ?

    Est ce que exec() est comme ignor_user_abort combine a while(1), il suffit de supprimer le fichier du serveur pour que la bourcle s'arrete?

    J'ai vraiment besoin de votre aide.

    merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il te manque surtout
    Tu as des infos ici au chapitre 6 :
    http://matthieu.developpez.com/execution_periodique/
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    zesavantfou
    Invité(e)
    Par défaut
    j'avais mis ca aussi, mais j'ai oublié de le mentionner.

    Une info qui peut peut vous donner une idée: si je laisse le script tourner sur mon naviguateur, après un certain moment (2 min environ) j'ai une Erreur: 500.
    Moi je pense que c'est a cause du navigateur qui voit que ca fini jamais de charger, mais je ne sais pas vraiment.

    ps: votre lien est intéressant mais comme je suis sur un hébergement mutualisé, je n'ai pas accès a cron et compagnie

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il est peu probable que ton hebergement mutualisé te laisse modifier la limite d'execution.
    L'erreur 500 que tu recois doit etre le timeout.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    zesavantfou
    Invité(e)
    Par défaut
    merci j'utilise maintenant une page qui se rafraichie toute seule en attendant de trouver une autre solution.

Discussions similaires

  1. [PowerShell] Script en tache de fond
    Par triaguae dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 10/11/2011, 21h01
  2. Script shell lancant un php en tache de fond
    Par simplet57 dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 03/11/2010, 14h27
  3. faire tourner un script en tache de fond
    Par suzan_ dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 25/09/2010, 08h38
  4. script shell pour execution tache de fond mysql
    Par boubourse92 dans le forum Linux
    Réponses: 2
    Dernier message: 09/04/2008, 17h54
  5. Exécuter script PHP en tâche de fond
    Par guiguibcn dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 18/10/2006, 20h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo