OVH Community, votre nouvel espace communautaire.

Solutions pour des scripts qui duuuuurent


pl.lamballais
04/04/2014, 11h54
Bonjour,

D'abord en ce qui concerne le Time Out de ton script, tu peux le changer en PHP pour augmenter la durée. Mais ça me semble une option délicate. Pourquoi? Simplement parce que tu sembles dépendre (avec ton "sleep") de quelque chose qui est externe à ton développement. Tu es donc en train de "bidouiller" pour que ça colle avec les autres, mais si les autres changent leur système, tu vas être dans les choux.
Si tu n'as pas d'autres options, je te conseillerais TRES fortement de mettre un test pour détecter un éventuel plantage (si "les autres" changent leur système) qui t'envoie un mail pour te prévenir. Car LE pire qui peut t'arriver c'est de développer ton truc, de le faire tourner et un jour, ça va planter pour cause de changement de la part "des autres" et tu ne vas pas t'en rendre compte.

Maintenant, peux-tu expliquer pourquoi tu dois faire un "sleep"? Il est souvent plus optimal de ne pas attendre "un certain temps", mais de tester sur un événement plus fiable (changement d'une valeur par ex.)

Amitiés
FL

n..1
06/01/2014, 22h45
Es-tu sûr que les scripts lancés par cron sont limités à 30 secondes ?

bossboss
10/12/2013, 21h32
Et si tu regarde du coté de l'ajax?

Il y a bien des scripts qui permettent de réimporter des gros dump, je suppose qu'on peut réaliser un script qui permettrait de recharger ta page via ajax, ce sera le nombres de requetes qui augmentera .

darrepac
10/12/2013, 19h59
mais c'est pas trés future proof car si le nombre d'éléments augmente encore, je suis cuit...

bossboss
07/12/2013, 13h33
Citation Envoyé par darrepac
Je pourrais saucissonner mes éléments pour qu'un appel du script ne gère pas plus de 25 éléments. Mais du coup mon rafraichissement de la base va prendre du temps: admettons que j'ai 250 éléments, le cron de OVH me permet un lancement par heure, donc cela me fairait 10h pour compléter ma mise à jour ce qui est long.
Oui mais si tu commences ton cron à 22h00, ta base est mise à jour pour le lendemain, peu de visiteurs la nuit

darrepac
25/11/2013, 21h11

non j'utilise l'api d'amazon pour mettre à jour des informations sur des produits

Gaston_Phone
25/11/2013, 21h02
En gros tu espionnes les autres sites et tu viens ensuite mettre à jour ton site.

darrepac
25/11/2013, 20h54
Bonjour

Sur du mutualisé, j'ai un script qui va mettre à jour des éléments de table SQL via une requète web. Je lance ce script en cron 3 fois par jour. Avec l'API que j'utilise, je dois faire une requète web par seconde (je fais un sleep(1) entre 2 appels) et donc dés que j'aurais atteint les 30 éléments à mettre à jour je vais dépasser les 30sec et mont script va se faire killer.
Je pourrais saucissonner mes éléments pour qu'un appel du script ne gère pas plus de 25 éléments. Mais du coup mon rafraichissement de la base va prendre du temps: admettons que j'ai 250 éléments, le cron de OVH me permet un lancement par heure, donc cela me fairait 10h pour compléter ma mise à jour ce qui est long.
Je voulais voir si certains avaient d'autres solutions.
J'ai pensé aussi à faire mon appel depuis une page web du site: dés que quelqu'un la charge, ca lance le script et pour éviter trop de lancement je pourrais créer un fichier et regarder son timestamp pour ne pas relancer le script si un délai n'est pas passé. Je ne sais pas si c'est optimal et si il n'y a pas plus malin...