picolo220
Messages postés18Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention 8 avril 2017
-
3 déc. 2008 à 15:24
picolo220
Messages postés18Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention 8 avril 2017
-
5 déc. 2008 à 18:00
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...?
Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 20124 4 déc. 2008 à 00:51
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
willeraser
Messages postés55Date d'inscriptionmercredi 15 octobre 2003StatutMembreDernière intervention 6 mai 2009 4 déc. 2008 à 22:58
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 ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
willeraser
Messages postés55Date d'inscriptionmercredi 15 octobre 2003StatutMembreDernière intervention 6 mai 2009 5 déc. 2008 à 16:56
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
picolo220
Messages postés18Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention 8 avril 2017 3 déc. 2008 à 17:28
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...
picolo220
Messages postés18Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention 8 avril 2017 3 déc. 2008 à 21:14
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.
picolo220
Messages postés18Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention 8 avril 2017 4 déc. 2008 à 17:30
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.
picolo220
Messages postés18Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention 8 avril 2017 5 déc. 2008 à 11:57
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.
picolo220
Messages postés18Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention 8 avril 2017 5 déc. 2008 à 18:00
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.