Appel d'un fonction à telle date [Résolu]

Signaler
Messages postés
18
Date d'inscription
dimanche 19 février 2006
Statut
Membre
Dernière intervention
8 avril 2017
-
Messages postés
18
Date d'inscription
dimanche 19 février 2006
Statut
Membre
Dernière intervention
8 avril 2017
-
Bonjour, je suis actuellement en train de coder une sorte de site de vente aux enchères, mais je me heurte au problème suivant.
Comment changer automatiquement le statu d'un objet, une fois arrivé à la fin du temps de vente.
Je m'explique, quand on met un objet en vente, on choisi le temps pour la vente, par exemple 1 heure.
Je souhaiterai que au bout d'une heure, la base de données soit modifiée.
Je me suis renseigné sur les processus ou autre callback, mais je ne trouve pas d'information satisfaisante(pour moi tout du moins );
Pour utiliser les processus, j'ai cru comprendre que l'on devait recompiler php avec l'option : 
--enable-pcntl.
mais cela n'est pas possible dans un environnement non Unix.
Je suis près à faire ça sous Linux mais n'y a t-il pas une autre méthode toute bète...?

Voila merci d'avance pour votre aide!

10 réponses

Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
Linux => tâche CRON
Windows => scheduller

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
picolo220, chez ovh si tu prends un serveur dedie, tu peux y installer linux et installer cron.
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
Tu te prend trop la tête...
tu met une date dans l'enregistrement de l'article et tu conditionnes sur ça...
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
Messages postés
55
Date d'inscription
mercredi 15 octobre 2003
Statut
Membre
Dernière intervention
6 mai 2009

Sur la page d'index par exemple, tu lances une fonction qui s'occupe de vérifier la durée de vie de tes enchères (date de post de l'enchère, type d'enchère et sa durée dans ton tuple de l'article, comme ça, tu peux calculer avec php la durée de vie restante, quand ca arrive à 0, un petit delete sur l'enchère).
Comme ca, lorsqu'un visiteur tombera sur l'index, il lancera lui même sans le savoir le processus de purge des vieux trucs.
C'est donc le visiteur qui déclenche la manip, si tu réfléchies bien, c'est parfait puisque si personne ne visite ton site, personne ne se rendra compte qu'une enchère est terminée même si elle l'est. Par contre, si quelqu'un vient, ca déclenche le nettoyage.
Si jamais ton site est assez conséquent, il se peut que la vérification systématique en page d'index soit lourde, à ce moment là, fait une vérification au détail sur une enchère spécifique ou par catégorie ;)

Bien sur, c'est du bricolage, comme t'ont dit les autres, cron est ce qu'il te faut, car si tu veux envoyer un mail pour avertir de la fin de vie d'une enchère, ce système ne te le permet pas ;)
Messages postés
55
Date d'inscription
mercredi 15 octobre 2003
Statut
Membre
Dernière intervention
6 mai 2009

Je ne connaissais pas redby, je suis donc allé voir, c'est un hébergement gratuit mutualisé visiblement donc je ne pense pas qu'ils proposent de cron.
Comme l'a dit coucou747, OVH le propose, utilisable via une jolie interface plesk
Messages postés
18
Date d'inscription
dimanche 19 février 2006
Statut
Membre
Dernière intervention
8 avril 2017

Merci d'avoir répondu Teclis, pourrait tu me donner un peut plus de détails sur le scheduller, car je ne trouve pas beaucoup de d'informations.
Un exemple ou un lien assez concret, qui se raprocherait assez de mon cas.

Autre chose, est-il possible de mettre cela en place cher un hebergeur comme redby ou ovh...
Messages postés
18
Date d'inscription
dimanche 19 février 2006
Statut
Membre
Dernière intervention
8 avril 2017

a oui? ok bonne nouvelle lol.
Comment peut on configurer crontab pour n'executer qu'une seule fois une action? Un peut comme at .
Peut-on modifier le crontab depuis un script php?
Dites moi si je me prend la tête pour rien, avec mon idée de processus, si quelqu'un connait une autre solution.

Merci pour vos réponses!
Messages postés
18
Date d'inscription
dimanche 19 février 2006
Statut
Membre
Dernière intervention
8 avril 2017

Ben d'accord  mais comment je peut modifier le status de l'article à la date de l'échéance...?
Il faut bien qu'un script fasse la modif dans la base de donnée au moment voulu.
Est-ce clair? lol
Si j'ai un champ "venteTerminee" qui contient un booleen, dans ma base, je veux que à la date qui est dans mon champ "date", le booleen passe à true.
 
Messages postés
18
Date d'inscription
dimanche 19 février 2006
Statut
Membre
Dernière intervention
8 avril 2017

Merci willeraser, j'avais bien pensé à faire ce que tu propose mais ça ne me semblait pas propre en fait. Et c'est vrai que si je veut que la personne qui a fait l'enchère ou l'enchérisseur puisse recevoir confirmation par mail il faudrait que tout ça soit automatique.
Encore une dernière question, je suis hébergé cher redby, avec un serveur Linux je crois bien, puis-je installer cron dessus à votre avis? Comme l'a dit coucou747 plus haut en parlant d'ovh.
Messages postés
18
Date d'inscription
dimanche 19 février 2006
Statut
Membre
Dernière intervention
8 avril 2017

Merci beaucoup à tous pour vos réponses.
J'ai appris ce qu'il me fallait, je vais donc faire mes test en local sur un serveur lamp avec cron et puis si je dois mettre ce site en ligne, je ferai ça cher ovh.