executer un script chaque jour à une heure +/- precise

executer un script chaque jour à une heure +/- precise - PHP - Programmation

Marsh Posté le 22-09-2003 à 11:23:16    

Voila je désire executer un bout de script mais à heure fixe et ce chaque jour.
 
Je pensais procéder de la maniere suivante :
 
- inserer en format time() la prochaine date/heure a laquelle l'action doit etre faite
- a chaque chargement de page, comparer l'heure actuelle (timea)  avec cette heure située dans la table dans la BDD (timeb)
- si timea > timeb alors on met a jour la date timeb et on execute le script sinon on fait rien
 
Est-ce jouable ou est-ce trop lourd ?


---------------
Saint Seiya  || La Livebox || Europe, débats, réflexions
Reply

Marsh Posté le 22-09-2003 à 11:23:16   

Reply

Marsh Posté le 22-09-2003 à 11:29:46    

T'as pas beaucoup d'autre solution si tu n'as pas accès à la conf du serveur.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 22-09-2003 à 11:32:03    

Reply

Marsh Posté le 22-09-2003 à 11:37:25    

le but est d'avoir des stats journalieres de mon site . Dc je pensais m'envoyer un mail avec ces infos et ce chaque jour.
 
y aurait-il un autre moyen de faire cela ?


---------------
Saint Seiya  || La Livebox || Europe, débats, réflexions
Reply

Marsh Posté le 22-09-2003 à 11:38:49    

T'es pas obligé de passer par un bd.
Tu peut avoir un fichier PHP qui contient un define :
Si tu trouve çà moins lours qu'un accès BD.
 

Code :
  1. <?php
  2. define( "NEXT_TIME", 123456789 );
  3. ?>


 
Dans ton script principal, tu écrase le contenu du fichier :
 

Code :
  1. <?php
  2. include( "next_time.php" );
  3. ...
  4. if( time() >= NEXT_TIME )
  5. {
  6.     file_put_contents ( "next_time.php", "<?php\ndefine( \"NEXT_TIME\", " . ( time() + ( 24 * 3600 ) ) . " );\n?>\n" );
  7.     // Action quotidienne
  8.     ....
  9. }
  10. ...
  11. ?>


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 22-09-2003 à 11:40:25    

et pour avoir des stats journalieres de son site sans plomber la BDD que me conseillez vous de faire ?


---------------
Saint Seiya  || La Livebox || Europe, débats, réflexions
Reply

Marsh Posté le 22-09-2003 à 11:41:10    


 
Pas mal :jap:


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 22-09-2003 à 11:42:17    

ex-floodeur a écrit :

et pour avoir des stats journalieres de son site sans plomber la BDD que me conseillez vous de faire ?


Envoyer à un mail à chaque accès :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 22-09-2003 à 11:42:18    

sur mutualisé ca m'étonnerais :D


---------------
Saint Seiya  || La Livebox || Europe, débats, réflexions
Reply

Marsh Posté le 22-09-2003 à 11:42:45    

Mara's dad a écrit :


Envoyer à un mail à chaque accès :D  

mais encore ? :pfff:


---------------
Saint Seiya  || La Livebox || Europe, débats, réflexions
Reply

Marsh Posté le 22-09-2003 à 11:42:45   

Reply

Marsh Posté le 22-09-2003 à 11:44:40    

ex-floodeur a écrit :

sur mutualisé ca m'étonnerais :D


T'as pas du bien comprendre comment fonctionne webcron :sarcastic:


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 22-09-2003 à 11:46:57    

ex-floodeur a écrit :

mais encore ? :pfff:  


Comme plus haut, met tes stats dans un fichier. Après l'envoie pas mail du fichier, t'as plus qu'à le vider ou à le supprimer.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 22-09-2003 à 11:48:41    

Mara's dad a écrit :


T'as pas du bien comprendre comment fonctionne webcron :sarcastic:  


en tout cas ca reste un service gratuit sans garantie de services :/


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 22-09-2003 à 11:49:07    

ma méthode est lourde ou pas ? ( 4-5000 pages vues par jour)


---------------
Saint Seiya  || La Livebox || Europe, débats, réflexions
Reply

Marsh Posté le 22-09-2003 à 11:52:35    

tout dépend de ce que tu mets dans tes stats...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 22-09-2003 à 12:01:03    

Mara's dad a écrit :

tout dépend de ce que tu mets dans tes stats...

c des stats tout ce qu'il y a de plus simple (pages vues, visiteurs, OS, navigateurs)


---------------
Saint Seiya  || La Livebox || Europe, débats, réflexions
Reply

Marsh Posté le 22-09-2003 à 13:46:37    

ex-floodeur a écrit :

c des stats tout ce qu'il y a de plus simple (pages vues, visiteurs, OS, navigateurs)


Tu ne vas quand même pas stoker les pages vues dans tes stats !
Et pour les visiteurs, je vois pas comment tu peux faire  :D  
 
Soit plus précis, qu'est ce que tu veux dans ton mails E X A C T E M E N T  
 
Quand tu sauras répondre à cette question, alors il sera possible de définir ce qu'il faut stocker dans les stats, et si c'est jouable pour un site à 5000 visites par jour, a condition d'avoir plus d'infos sur les capacités du serveur.
 


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 22-09-2003 à 14:46:56    

je veux voir que le mail m'indique :  
 
- le nombre de pages vues sur le site la veille
 
- le nombre de visiteurs
 
- le nombre de page vues par page du site ( les urls sont du type www.Animecdz.com/?cdz=45 )
 
c tout :)


---------------
Saint Seiya  || La Livebox || Europe, débats, réflexions
Reply

Marsh Posté le 22-09-2003 à 16:20:47    

ex-floodeur a écrit :

je veux voir que le mail m'indique :  
 
- le nombre de pages vues sur le site la veille => Compteur général de page ou somme( Compteur par page )
 
- le nombre de visiteurs => Compteur général de session.
 
- le nombre de page vues par page du site ( les urls sont du type www.Animecdz.com/?cdz=45 ) => Compteur par page.
 
c tout :)


 
Conclusion, tu met çà dans une BD qui ne te prendra pas beaucoup de place, sauf si tu as des centaines de millier de pages différentes.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 22-09-2003 à 16:28:06    

Mara's dad a écrit :


 
Conclusion, tu met çà dans une BD qui ne te prendra pas beaucoup de place, sauf si tu as des centaines de millier de pages différentes.

ct ce que je pensais faire :) chercher les données dans la base de données, envoyer le mail et mettre à 0


---------------
Saint Seiya  || La Livebox || Europe, débats, réflexions
Reply

Marsh Posté le 23-09-2003 à 16:01:44    

ex-floodeur a écrit :

sur mutualisé ca m'étonnerais :D


 
C'est justement fais pour les gens hébergé sur des serveurs où ils n'ont pas accès au crontab de leur machine !
 
Tu fais ta page d'envoi de mail avec stats, tu t'inscris sur le site et ils va t'ouvrir la-dite page à l'heure voulue

Reply

Marsh Posté le 27-01-2005 à 17:46:26    

Moi aussi, j'ai ce genre de pb pour un intranet. Je voudrais pouvoir envoyer, à une liste de personne, un mail, en fin de journée, contenant une liste de certains événement survenus durant la journée. Et je voudrais que la méthode fonctionne aussi bien pour un serveur web tournant sous linux que sous Windows. Pas facile à trouver :/

Reply

Marsh Posté le 28-01-2005 à 01:18:02    

rufo a écrit :

Moi aussi, j'ai ce genre de pb pour un intranet. Je voudrais pouvoir envoyer, à une liste de personne, un mail, en fin de journée, contenant une liste de certains événement survenus durant la journée. Et je voudrais que la méthode fonctionne aussi bien pour un serveur web tournant sous linux que sous Windows. Pas facile à trouver :/


 
 
Si tu es en intranet alors tu devrais pouvoir acceder au serveur en question.
Alors c'est facile.
Regarde ca :
sous linux : crontab
sous windows : planificateur de taches
 
Cela te permetera de faire executer par le serveur un script a des heures precises.

Reply

Marsh Posté le 28-01-2005 à 12:19:31    

effectivement, j'ai réussi à lancer mon script php via le cron :)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed