Programmer l'heure d'éxécution d'un ordre

Programmer l'heure d'éxécution d'un ordre - PHP - Programmation

Marsh Posté le 11-12-2005 à 11:17:50    

Bonjour,
 
Quelqu'un sait-il comment je peux faire pour qu'un script soit exécuté un certain temps après avoir été appelé.
Je précise : je voudrais, par exemple, déclencher tel script, 6 heures après qu'un visiteur ait cliqué sur un lien.
 
En gros, je voudrais qu'un script s'éxécute à une heure précise.
 
Merci d'avance.


Message édité par jo la poisse le 11-12-2005 à 11:20:41

---------------
Ceci n'est pas une signature ;)
Reply

Marsh Posté le 11-12-2005 à 11:17:50   

Reply

Marsh Posté le 11-12-2005 à 12:10:20    

en faisant une recherche sur l'ami google, ou carrément sur ce forum, le sujet a été abordé moulte fois...
 
--> fait des recherches sur "webcron" tu trouvera ton bonheur ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 11-12-2005 à 18:30:01    

Le truc c'est que l'heure d'éxécution du script dépend de l'heure du clic de mon visiteur.


---------------
Ceci n'est pas une signature ;)
Reply

Marsh Posté le 12-12-2005 à 03:46:57    

Avec du php, le principe restera toujours le même: c'est un langage côté serveur d'un serveur http :) Donc faut trouver moyen de lancer quand tu veux un truc ==> impossible sans le demander!
 
Donc soit un cron ou similaire mais t'auras pas une valeure fixe sauf si tu le lance toutes les secondes et aucun intéret :)
 
Soit lancer un truc à chaque consultation de page ==> pourquoi un client paye pour les autres :??:
 
Soit te démerder parce que php peut être éxécuté en batch pour lancer un truc en fond à période régulière (on en revient au cron ou autres mais sur le serveur ;) )
 
Ou alors ce qui est tout à fait possible, aller au delà de php et de créer un système client serveur en local pour gérer çà ;) MAis là ça se complique et à la limite, autant resté sur un truc bien conceptualisé en php plutot que se prendre la tête sur un truc pointu (tu demanderais si tu pouvais le faire ;) ) :)
 
En gros démerdes toi pour qu'un script tourne à un intervalle de temps qui semble le plus adapté, et fais ta vie :D
 
 
Mais si tu en disais un peu plus :??: ;) L'action de l'utilisatateur devant intervenir X temps après elle impacte les autres?
 
Parce que je sens que ton truc il suffirait de gérer des dates (temps en fait) pour affecter ou non les autres, l'utilisateur... En gros gérer la BD comme il faut s'il y en a une ;)

Reply

Marsh Posté le 12-12-2005 à 10:26:11    

ben sinon, un truc un peu bourrin. Dans une BD (ou un fichier), tu stockes l'ID du visiteur et l'heure du clic.  
Parallèlement à ça, t'as un autre script php lancé à intervalle régulier (le coup des 6h après, c'est à la seconde près, à la minute près...?) par le cron qui va lire le contenu de la BD et réagir en conséquence : lance le fameux script.php

Reply

Marsh Posté le 12-12-2005 à 10:34:42    

Pour rufo --> je pense que les 2 denieres lignes du post de leflos5 était déjà là pour proposer ta méthode ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 12-12-2005 à 11:50:52    

Xav_ a écrit :

Pour rufo --> je pense que les 2 denieres lignes du post de leflos5 était déjà là pour proposer ta méthode ;)


 
peut-être mais vu que c'était pas forcement super explicite, j'ai proposé une méthode qui n'a plus qu'à être suivie...

Reply

Marsh Posté le 12-12-2005 à 12:53:31    

echo `sleep 5 ; /usr/bin/php monsctipt.php &` ;
 
:lol:


---------------
CPU-Z | Timespy | Mes bd
Reply

Marsh Posté le 12-12-2005 à 13:35:24    

créer/modifier le fichier cron à la volée ?

Reply

Marsh Posté le 12-12-2005 à 14:59:40    

ou lancer un bash ou un phpcli qui attend un peut a son debut (en gros le code commence par sleep(30) pour 30 secondes), mais ça veut dire qu'il a accez a son serveur pour faire se genre de script. A la limite, les mettres dans le repertoire cgi/bin mais bon.


---------------
CPU-Z | Timespy | Mes bd
Reply

Sujets relatifs:

Leave a Replay

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