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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Tâche périodique avec .bat [Fait]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Par défaut Tâche périodique avec .bat
    Bonjour à tous,

    Voila mon problème :

    A minuit, chaque jour, il faudrait que je vérifie si mon site doit envoyer un ou des e-mails grâce à une requête SQL.

    Il faut donc que ce script soit lancé automatiquement à cette heure et sans la nécéssité d'une connexion d'un utilisateur.

    J'ai demandé à mon professeur quel moyen était le mieux. La réponse : utiliser un .bat qui serait lancé périodiquement. Je ne sais cependant pas comment faire pour créer le .bat et encore moins comment le lancer périodiquement .

    Quelqu'un pourrait-il m'aider, me donner un exemple?

    Merci pour votre aide.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 386
    Par défaut
    a mon avis c'est pas la bonne rubrique du forum, le .bat c'est pas du php

  3. #3
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Il y a par contre la possibilité de lancer des scripts php de manière périodique sur ton système sans intervention utilisateur. Plusieurs méthodes dans ce tutoriel

    Si tu fais une recherche sur les forums PHP avec les mots "exécution périodique" tu devrais trouver beaucoup de réponses dont certaines qui expliquent meme une technique toute bete utilisant les tâches planifiées de windows.

    Bon courage!

  4. #4
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    Et pour les cron (voir le lien de koopajah), si ton serveur ne te permet pas de faire cela (hebergement mutualisé ou autre), il existe des site permettant de faire ça comme http://www.webcron.org/

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Par défaut
    Merci, je connaissais déjà ces techniques suite à des recherches sur votre site par exemple et tout particulièrement sur le tuto qui est bien fait. Cependant, comme je le disais, mon professeur veut le .bat mais je ne sais rien du tout sur cela .

    Quelqu'un pourrait-il m'aider?

    Quoiqu'il en soit merci tout de même pour vos réponses

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Par défaut
    Pour être plus précis, je vous donne le message de mon professeur :

    Une solution est de faire un script à part, avec un time out illimité (set_time_limit(0), de mémoire) et de l'appeler par ligne de commande, via un .bat.

    J'espère que cela vous permettra de m'aider à comprendre ce que cela veut dire

    Merci encore pour votre aide!

  7. #7
    Membre expérimenté Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Par défaut
    Une solution est de faire un script à part, avec un time out illimité (set_time_limit(0), de mémoire) et de l'appeler par ligne de commande, via un .bat.
    C'est à mon avis une mauvaise solution puisque ton processus va tourner en boucle toute la journée pour rien et sera arrêté à chaque redemarrage de apache.

    Le cron est la meilleure solution pour toi.

    Je suppose que tu es sur windows et que ton serveur web est sur ta machine et non sur le net ?

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Pourquoi faire simple quand on peut faire compliqué, lit le tuto proposé par koopajah tu verras c'est je pense la meilleur solution.

  9. #9
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    dans tous les cas, ce que ton professeur souhaite c'est que tu utilises php en ligne de commande et non pas avec un navigateur. Ca te permet d'eviter d'avoir un navigateur ouvert qui charge en permanence.

    donc tu fais un script infini (grace au set_time_limit) et ensuite tu utilises un .bat ressemblant a ca :

    C:/wamp/php/php.exe C:/mes_scripts/mon_script_infini.php

    (tu remplaces par les bons chemins) et ca devrait répondre aux attentes de ton professeur.

  10. #10
    Membre expérimenté Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Par défaut
    Citation Envoyé par koopajah Voir le message
    dans tous les cas, ce que ton professeur souhaite
    Si on lit bien son post initial, la demande vient plutot de jf1985 à laquelle le professeur a répondu, probablement avec ses connaissances.

    Avant de répondre à cette question il me semble impératif de savoir sur quelle plateforme se trouve le site en question. Ensuite il y a les bonne et les mauvaises solution. Un script tournant à l'infini pour effectuer une tache journalière, c'est sans nul doute une mauvaise solution.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Par défaut
    Mon serveur est en effet sur ma machine...pour le moment. Le site sera bientôt mis en ligne...je ne sais où!

    Je réalise en fait un site pour une ville...pour mon professeur.

    Si j'ai bien compris, ce que demande mon professeur, c'est de lancer une fois un script à l'aide de la console qui tourne en boucle...tt le temps. Est-ce bien ça? Je ne devrais donc pas exécuter mon .bat régulièrement. En effet ça parait lourd.

    Merci pour votre aide

  12. #12
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    On t'a expliqué les solutions.
    Soit dit en passant, tu vas surement mettre le site en ligne sur un serveur dédié et il y a de fortes chances que tu ne puisses pas modifier facilement l'environnement, ou lancer un script en ligne de commandes.

    Il faut sérieusement te pencher du coté des AUTRES solutions (celles qui sont viables sur la durée) et donc regarder du coté de cron, de webcron, etc.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Par défaut
    Ok je vais y penser.

    L'embêtant avec le webcron, si je ne me trompe, c'est qu'il faut une URL.

    Je ne pourrai donc pas tester mon script avant qu'il soit mis en ligne...

  14. #14
    Membre expérimenté Avatar de Mogwaï
    Inscrit en
    Mai 2004
    Messages
    247
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2004
    Messages : 247
    Par défaut
    Ce que je ferais : tant que ton serveur tourne sur ton pc personnel, crée une tache planifiée windows
    http://www.google.fr/search?sourceid...c3%a9e+windows

    Celle ci executera la commande
    php -f c:\chemin\vers\ton\script.php
    tous les jours.

    Ensuite, lorsque ton site sera en ligne, oublie ça. Il sera probablement sur un mutualisé sous Linux. Selon l'hébergeur, tu pourras créer un cron Linux (chez OVH par exemple, on peut le faire). Sinon il faudra passer par un service de cron exterieur. Mais ne passe pas par ton ordi personnel pour lancer cette tache.

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Par défaut
    Ok je vais faire ca!

    Merci beaucoup pour votre aide à tous.

    Je vous tiens au courant. Si ca tourne sur mon ordi je vous le dis

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 30
    Par défaut
    Voila, ça tourne sur mon ordi...Nickel !

    Lorsqu'il faudra héberger le site, je tenterai de faire adopter la solution "CRON" qui grâce à vos conseils avisés me semble maintenant la meilleure .

    Merci encore à vous.

    Bonne continuation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/08/2014, 09h52
  2. Requêtes pour tâches périodiques dans un planning
    Par sunvialley dans le forum IHM
    Réponses: 8
    Dernier message: 27/06/2006, 16h38
  3. pb connexion switch avec .bat
    Par bessonnet dans le forum Windows
    Réponses: 8
    Dernier message: 23/06/2006, 20h12
  4. Créer une Tâche Outlook avec ASP
    Par Hamdi dans le forum ASP
    Réponses: 3
    Dernier message: 04/04/2006, 17h00
  5. Comment récupérer l'ID d'une tâche programmée avec AT ?
    Par langela94 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 23/09/2005, 11h01

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