Accueil > Forum > > > > Parser un flux XML toutes les x Heures
Parser un flux XML toutes les x Heures
vendredi 15 juillet 2011 à 15:45:23 |
Parser un flux XML toutes les x Heures

anthony428
|
Bonjour,
Je me lance dans le XML, et j'utilise des fichiers XML différents pour traiter des listes d'informations.
Mes fichiers pèsent près de 800ko mais je trouve les temps de traitement très long, trop long pour moi en fait, parfois, ma page met près de 10 secondes à s'afficher.
J'ai chercher un peu partout.....
il y aurait plusieurs solutions, soit je met le tout dans un BDD et j'actualise de temps en temps, soit je garde la méthode du XML mais je l'actualise de temps en temps.
Ma question est de savoir si vous pouvez me dire comment il faut faire pour conserver les fichiers XML mais les actualiser de temps en temps.
J'utilise une requête pour charger mes fichiers XML à partir d'une BDD distante sur laquelle je n'ai pas la main, l'ennui c'est que chaque fois qu'un internaute se connecte, il charge tout le xml à chaque fois ?! non ?
Pouvez vous me donner des pistes...je ne sais pas comment je peux faire pour développer tout ça.
Peut on garder en mémoire sur le serveur le fichier XML et accéder à ce fichier plutôt que de le charger à chaque fois de puis cette BDD ?
Existe t'il des scripts permettant de mettre à jour ce fichier XML toutes les x heures ou minutes ?
Merci de m'aider si vous avez des pistes car là je sèche un peu.
Merci d'avance
|
|
vendredi 15 juillet 2011 à 16:29:45 |
Re : Parser un flux XML toutes les x Heures

stay
|
Tu dois avoir un serveur dédié et non mutualisé pour faire cela.
Car ce n'est pas le client qui doit exécuter l'application, mais le serveur.
Par la suite, tu crées un cron, un fichier PHP à exécuter.
Bonne chance.
|
|
vendredi 15 juillet 2011 à 18:40:42 |
Re : Parser un flux XML toutes les x Heures

anthony428
|
Je te remercie pour ta réponse mais il est peut être possible de trouver une solution pour contourner ce problème...
Peut être que je peux enregistrer mon flux dans un fichier XML que je garde sur mon serveur, ça c'est possible.
Le seul problème est de savoir comment le mettre à jour de manière automatique ???
D'autres idées pour me faire avancer la dessus ?
Il n'y a aucun script qui permette de faire ces mises à jour ?
Ou une tout autre solution ????
Merci d'avance
|
|
samedi 16 juillet 2011 à 10:03:29 |
Re : Parser un flux XML toutes les x Heures

stay
|
La bonne solution, c'est le cron.
Comme tu veux éliminer cette solution, mais c'est bidouillé et pas pro.
Tu peux créer une page protégée par un htaccess.
Une fois connecté, un script JavaScript asynchrone lance le script PHP, par exemple toute les 10 min.
Et bien sur, ce poste client doit resté ouvert 24h sur 24.
|
|
dimanche 17 juillet 2011 à 18:56:10 |
Re : Parser un flux XML toutes les x Heures

syndrael
|
Il reste à savoir si c'est le temps d'accès et de rapratriement de ton fichier qui est long ou le traitement XML (parsing etc..)
Après il y a aussi la méthode que tu utilises pour interroger ton fichier. XPath ?? SimpleXML ??
Les raisons d'un tel temps sont multiples mais pas très nombreuses.
S.
|
|
lundi 18 juillet 2011 à 15:32:17 |
Re : Parser un flux XML toutes les x Heures

Romano58
|
Surtout, attention au hébergeur... Qui mettent eux même du temps à répondre, quand ils ne sont pas H.S (je pense au gratuits, par expérience). Car théoriquement, télécharger un fichier via un script php héberger sur un serveur, c'est passer par les gros "tuyaux" (de serveur à serveur), donc 800k c'est une broutille insignifiante (Dans mon travail, je traite des flux xml qui font jusqu'a 2 Giga!!).
Le traitement du flux, en effet, c'est peut être ça qui demande du temps. Boucler sur plusieurs centaines (milliers?) de noeud cela peux prendre beaucoup plus de temps, surtout en fonction des traitements effectué pendant cette boucle.
Romain
|
|
lundi 18 juillet 2011 à 15:35:57 |
Re : Parser un flux XML toutes les x Heures

inwebo
|
Bonjour,
Et pourquoi ne pas mettre en cache le fichier xml, avec une date d'expiration ? De la même manière que l'on mettrait des script PHP en cache au format HTML.
________________________________________
( $toBe || !$toBe ) = $this->Question();
|
|
lundi 18 juillet 2011 à 22:38:59 |
Re : Parser un flux XML toutes les x Heures

anthony428
|
Bonjour à tous et merci pour vos pistes de réflexions.
merci stay pour ta solution, je pense en effet que le cron serait la solution la plus appropriée, même si je n'ai jamais eu à la mettre en place, de ce que j'ai lu, cela semble être la meilleure solution mais le problème est qu'il faut obligatoirement passer sur un serveur dédié et je ne peux pas le faire pour le moment...
Quant à la solution du poste client qui exécute le script, je pense que cela sera contraignant pour les utilisateurs et cela me posera également des soucis.
Peut être que je dois prendre le problème autrement, puisque mon fichier XML n'est pas si lourd que cela, je dois savoir pourquoi il est si long à s'afficher sur mon site et je voudrais bien que vous m'aidiez à éclaircir le problème s'il vous plait, étant novice en XML, je ne saurais pas isoler le problème seul.
Je ne suis pas sur un Hébergement gratuit mais sur une solution proposée par OVH avec BDD.
J'utilise la méthode SimpleXML pour traiter mon flux XML, comment puis je optimiser mes temps de traitement et savoir si la lenteur d'éxécution vient bien de là ?
L'idée d'inxebo me plait assez, mettre un fichier en cache avec une date d'expiration à 24H et recharger le fichier en cache au bout de 24H, cela est il facile à réaliser ? est ce fiable ?
Merci de m'aider sur ce sujet, toute réflexion est bonne à prendre et me permettra d'en apprendre un peut plus sur le traitement des flux XML.
Merci encore
|
|
lundi 18 juillet 2011 à 23:32:55 |
Re : Parser un flux XML toutes les x Heures

kohntark
|
Salut,
Les xml sont stockés dans une DB distante, c'est bien ça ?
mais le problème est qu'il faut obligatoirement passer sur un serveur dédié
Heu, tu es sûr de toi là ? Chez OVH j'aurai eu tendance à dire qu'un planificateur de tâches existait.
Il serait bien de connaitre un peu le contenu des données que tu récupères et en quoi consiste le traitement. Changent elles souvent ? Est ce important si tu envoies des données non actualisées au client ? As tu un moyen alternatif de savoir si elles ont changées ? Du style un champ id dans la DB distante que tu pourrais interroger via un simple SELECT, tite comparaison avec valeur précédente => mise à jour , ... ou non
Avant de mettre en place le moindre truc c'est clair qu'il faut identifier d'où viennent les ralentissements.
800Ko c'est le poids de tous les XML réunis ?
... s'il s'agit de générer la page web avec ça je trouve que c'est déjà très lourd; quelques images en plus, un peu de JS, le HTML qui peut être plus conséquent que le xml ... on a vite fait de se retrouver avec une page bien trop lourde.
cela est il facile à réaliser ?
Oui, suffit juste d'enregistrer le(s) fichier(s) et tester sa date de modification à chaque connexion. Si date_modif < maintenant - 24h => on utilise ce fichier, sinon on interroge le serveur distant pour mise à jour
... c'est juste un fichier :)
La fiabilité réside ici dans l'exigence que tu as de fournir des données à jour ou non.
savoir si la lenteur d'éxécution vient bien de là ?
Tu peux mettre des mouchards de ce type un peu partout dans le code :
Code PHP :
<?php
define('START_TIME', microtime(true));
//[code]
echo round(microtime(true)-START_TIME, 4).' sec';
//[code]
echo round(microtime(true)-START_TIME, 4).' sec';
//etc..
?>
Cordialement,
Kohntark -
|
|
mardi 19 juillet 2011 à 10:40:07 |
Re : Parser un flux XML toutes les x Heures

anthony428
|
Merci kohntark,
tu m'as permis d'avancer un peu plus.
En effet, j'utilise un BDD distante et j'ai bien la possibilité d’exécuter un CRON, chose que je ne connaissais pas mais en regardant de plus prêt, je vois que mon hébergeur le propose. Je ne sais pas encore quel genre de script je peux créer mais je vais chercher un peu plus.
Mon site est un site qui véhicule des informations touristiques et il serait bien qu'il soit mis à jour au moins une fois toutes les 24h. Mes données sont composées de photos et de textes. Par exemple la liste des manifestations du secteur, une photo et une description ainsi que des informations complémentaires de géolocalisation...
Pour vérifier s'il y a eu modification ou non ?
Non je n'ai pas d'ID que je puisse interroger, je pensais faire un remplacement intégral des données de manière automatique toutes les 24H. ça c'est possible ?
Pour le script que tu m'as donné, je l'ai mis en place et il apparait que le dernier de mes enregistrements apparait en 2 secondes mais parfois c'est beaucoup plus long....donc c'est assez aléatoire ?!
Jusque là, j'interrogeais ma BDD distante, je mettais le contenu dans un fichier XML et je le parsais pour un affichage sur mon site avec une requête pour chaque connexion...
L'idéale serait de faire un enregistrement de du résultat de ma requête dans un fichier xml que je stocke sur mon serveur et que je remplace une fois toutes les 24H grace à un script contenu dans un fichier que j'exécute grâce à un CRON ? c'est bien la bonne démarche ? désolé, je débute dans ce mode de programmation, ce sera ma première fois
J'ai déjà regardé du côté de l'enregistrement de mon fichier XML et j'éprouve déjà des soucis. N'y a t'il pas de fonction prédéfinis PHP pour cela ? en concernant la structure initiale de mon arborescence XML ?
Merci d'avance
|
|
Cette discussion est classée dans : temps, fichiers, bdd, xml, heures
Répondre à ce message
Sujets en rapport avec ce message
acces par bdd ou par fichiers ? [ par Urukai1 ]
Je me pose cette question,pour faire un site multilangue, vaut-il mieux utiliser plusieurs fichiers contentant les mots traduits avec les valeurs corr
XML ?? Question existentielle [ par satellite34 ]
Bonjour,je fais partie du staff d'un site completement basé sur une bdd (cf ma signature), Notre webmaster a tout codé en php : requetes ds la bdd, af
Comment récupérer une bdd dans un fichier xml ? [ par satellite34 ]
Bonjour,je me lance dans le développement d'une application ( c++ (ne fuyez pas!!!!!) ), lié a un site;je m'explique :ce serait une apli de gestion de
temps restant entre deux heures [ par mierkool ]
Bonjour,J'aimerai savoir comment faire simplement pour connaitre le temps restant entre deux heures.par exemple :entre 18:00:00 et 15:32:56 ?merci
afficher les fichiers xml par ordre alphabetique [ par superM ]
bonjour à tous,J'ai un petit script qui me permet de lister des fichiers xml dans un répertoire qui marche trés bien. Le seul problème que je rencontr
gerer une BDD MySQL avec des fichiers .txt [ par pth_ezekiel ]
Bonjour à tous.Je suis débutant en php, et je dois fournir, pour l'école, un projet d'intranet.Pour une exportabilité maximale, nous avons décidé de n
Probleme BDD fichiers .MYD et .MYI [ par doudoutinette ]
Bonjour, J'ai un "petit" probleme de base de bonnées Mysql . Voila j'avais wamp5 1.7 je l'ai supprimé et ai installé wampserver2. les fichier php on é
XML & BDD : Réferencement [ par Orange73 ]
Hello,juste 2 ptites question :> Est-ce que les moteurs de recherche référencent les xml loader dans du flash ?> Est-ce que les moteurs de recherche r
multiplier et insérer dans un bdd mysql [ par sampiero ]
Je bute sur une requête sql qui me permet dans un premier temps de faire une multiplication entre deux champs en créant un champ résultat. dans un de
creation d'une playlist.xml à partir d'un script PHP depuis la BDD [ par tex73 ]
bonjour à tous. pourriez vous s'il vous plait m'apporter votre aide pour la creation d'un fichier XML sur ce projet, qui consiste à selectionner dans
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
BALISE D'ANCREBALISE D'ANCRE par FADEST
Cliquez pour lire la suite par FADEST
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|