[mod_python] Session problems

Chris Jackson christopher.jackson at gmail.com
Mon Feb 14 17:21:35 EST 2005


Take out sess.unlock(). There's no need to do this as it's handled by
the class itself by default.  This could have perhaps lead to
MemoryErrors.

~= Chris =~


On Mon, 14 Feb 2005 17:11:07 -0500, Wagner,Harry <wagnerh at oclc.org> wrote:
> I am trying to convert a program (see below) written for the
> BaseHTTPServer to Apache and am getting a MemoryError trying to save the
> session.  Is there a trick to this I am missing?  Thanks!  harry
> 
> from mod_python import apache, util, Session
> import sys, urllib, urlparse, xml.dom.pulldom, cgi, socket,
> xml.sax.saxutils, StringIO, math, glob, os.path, ddc3
> 
> def handler(req):
>         sess = Session.Session(req)
>         ddcServer = DDCServer(req)
>         ddcServer.root = ddcServer.req.document_root()
>         oclc2ddcFile = ddcServer.root + '/Collections/eBooks.ddc'
>         recFileName = ddcServer.root + '/Collections/eBooks.ddc.ulines'
>         compHoldingsFile = ddcServer.root + '/ihbnum.compressed'
>         captionsFile = ddcServer.root + '/Captions'
>         ddcServer.testing = 0
>         if sess.is_new():
>                 req.write("Session is new\n")
>                 ddcServer.captions = DDCCaptions(captionsFile)
>                 ddcServer.localText = TextLocalization(captionsFile)
>                 ddcServer.ddcSearch = ddc3.DDCSearch(file(oclc2ddcFile),
> recFileName, file(compHoldingsFile, 'rb', 100000))
>                 try:
>                         sess['captions'] = ddcServer.captions
>                         sess['localText'] = ddcServer.localText
>                         sess['ddcSearch'] = ddcServer.ddcSearch
>                         sess.save()
>                         sess.unlock()
>                         req.write("Session saved\n")
>                 except MemoryError: req.write("MemoryError raised\n")
>         elif not sess.is_new():
>                 sess.load()
>                 req.write("Previous session loaded\n")
>                 ddcServer.captions = sess['captions']
>                 ddcServer.localText = sess['localText']
>                 ddcServer.ddcSearch = sess['ddcSearch']
>                 req.write("data has finished loading\n")
> #       ddcServer.do_GET()
>         return apache.OK
> 
> -------
> Session is new
> MemoryError raised
> 
> _______________________________________________
> Mod_python mailing list
> Mod_python at modpython.org
> http://mailman.modpython.org/mailman/listinfo/mod_python
>


More information about the Mod_python mailing list