[ILUG] IPC and CGI
bigbro at skynet.ie
Thu Apr 7 16:12:42 IST 2005
-----BEGIN PGP SIGNED MESSAGE-----
To my mind your question is too specifically locked to a solution
already, without providing what your stated goals actually are.
Optimisation should always start looking at the big picture (rather than
having already decided to use python, CGI, a daemon, etc., etc. - if you
see what I mean.)
Why not maintain your data in a database (MySQL or alternative of
choice) and just query that? Would that solve your problem? Does the
entire dataset get 'parsed' (in your current architecture) every time
the CGI script is run, or just once, on system startup. If the former,
perhaps a database solution? If the latter, how do you update data
except by restarting the CGI and forcing it to reparse / reload all its
With what little you've given, I'd guess that a database solution might
be suitable. Perhaps, with more knowledge of the dataset / access
pattern, you can optimise further and cache it in some database
middleware level, or similar.
Anyway, happy to help further if you can provide more detail on what
the 'big picture' thing you're trying to achieve is :-)
Dale Dunlea wrote:
| Hi All,
| I have a CGI script. It's python, but I'm not set in stone on this.
| Anyway, it has to parse a reasonably large, and largely static, file at
| startup before doing its thing. The problem is that the file it must
| parse is likely to grow over time, and will get quite large. Which means
| that parsing it every time the CGI scripts gets run is going to be
| arduous and may become unacceptably slow.
| The plan is to write a daemon program of some description that parses
| the file and maintains it, and then have a separate CGI script that
| interrogates this daemon for the specific data it needs when it needs it.
| First of all, is this the way to do it, or is there a better method?
| Secondly, what's a good way to provide IPC on linux such that the CGI
| script and the daemon can play nice?
| Thanks in advance,
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (MingW32)
-----END PGP SIGNATURE-----
More information about the ILUG