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 >
|