[Perl] Passer un array en param à un cgi

Passer un array en param à un cgi [Perl] - Perl - Programmation

Marsh Posté le 12-10-2004 à 15:25:43    

petite mise en situation: cgi avec plein d'options, qui permet d'afficher un graphique généré par GD::Chart
 
donc on a:
main.cgi
graph.cgi
 
dans le main.cgi, ya un
 

<img src="graph.cgi">


 
le problème, c'est que tous les paramètres sont dans le main.cgi, et les repasser au graph.cgi fait faire un doublons de traitement (si on trace notre graphique sur un range de 2 ans, ca fait plus de 1 millions de ligne à parser)
 
présentement, on a penser faire un bete Data::Dumper de notre array de donné dans le main.cgi vers un fichier, que le graph.cgi va lire, dé-dumper, et effacer
 
mais j'aime pas trop passer par des fichiers temporaires :/
 
si quelqu'un a une meilleure idée

Reply

Marsh Posté le 12-10-2004 à 15:25:43   

Reply

Marsh Posté le 12-10-2004 à 18:52:39    

plutot que Data::Dumper utilise Storable (freeze et thaw), c'est bcp plus rapide et compacte.
 
mais quite à faire un fichier temporaire, pourkoi celui ci ne contiendrait il pas directement l'image?
Tu genere l'image dans main.cgi, avec un nom à la con (genre un md5_hex d'un freez des données), et tu met ce nom dans ton tag img.
 
Pour effacer l'image apres usage le mieux c'est de faire tourner un petit demon qui va scanner regulierement (5min?) le dossier temporaire et effacer les vieux fichiers (selon leur date de dernier acces)
 
en plus comme ca tu peux eventuellement mettre ton image en cache: tu peux verifier qu'un image avec le meme nom (et donc les memes données en entrée puisque c'est un md5 du freez) existe deja, et dans ce cas tu n'a meme pas à le generer.

Reply

Marsh Posté le 13-10-2004 à 00:03:32    

stun truc qui sera pas énormément consulté, et yaura surement pas 2 fois le meme graph de suite alors générer l'image dans un fichier c'est pas vraiment utile
 
mais jvais regarder pour storable
 
merci

Reply

Sujets relatifs:

Leave a Replay

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