The name 'SessionMemoryStore' really tooked me into thinking that there was
a bug, but I see now that its a feature and a nice feature.
For me there is no problem with that, because I dont mind loosing this
objects I have in the session when the server is shutdown (they are only
there to speed things, they are created again when the server is up if they
are not already in the session).
For this objects (COM objects - I've ported the Crystal Reports Enterprise
web interface from ASP to Webware) I dont mind, but for other pickable
python objects its good to know that this happens. You idea to store in the
session object enough data to re-construct the non-pickleable data if
necessary is very good.
----- Original Message -----
From: "Stuart Donaldson" <stu@...>
To: "Pedro Beck Gomes da Costa" <pbeck@...>
Sent: Monday, February 10, 2003 9:40 PM
Subject: Re: [Webware-discuss] Bug in 0.8 Session Handling
> SessionMemoryStore is perhaps misnamed. There was some discussion on
> this topic a short while ago on the webware-devel list.
> The SessionMemoryStore keeps sessions in memory but when the AppServer
> is shut-down will still save them out to disk, requiring that sessions
> must be capable of being pickled.
> There was some discussion of developing a SessionMemoryOnlyStore, or
> perhaps a SessionNonPersistent store that would not be persistant across
> restarts of the AppServer. However this has not happened yet.
> I would recommend just not storing non-pickleable data in session
> objects. What I have done in my case is to store in the session object,
> enough data to re-construct the non-pickleable data if necessary.
> Pedro Beck Gomes da Costa wrote:
> >I started to use 0.8 today (was using CVS version for DEV and 0.7 in
> >As I save COM objects in Session, I configure Webkit to use store my
> >sessions in Memory, or I get 'UnpickleableError' errors
> >Here is that part of my Application.config:
> > },
> > 'SessionStore': 'Memory', # can be File or Dynamic or Memory
> > 'SessionTimeout': 60, # minutes
> > 'MaxDynamicMemorySessions': 10000, # maximum sessions in memory
> > 'DynamicSessionTimeout': 15, # minutes, specifies when to move
> >sessions from memory to disk
> > 'SessionPrefix': None, # can be set to "hostname" or any
> >string to prefix the session ID
> > 'IgnoreInvalidSession': 1,
> > 'UseAutomaticPathSessions': 0,
> >But I get this errors:
> >Traceback (most recent call last):
> > File ".\WebKit\SessionFileStore.py", line 78, in __setitem__
> > self.encoder()(item, file)
> >UnpickleableError: Cannot pickle <type 'PyIDispatch'> objects
> >How can I get Errors from SessionFileStore.py, if I should be using
> >SessionMemoryStore.py ??
> >Pedro Costa
> >This SF.NET email is sponsored by:
> >SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
> >Webware-discuss mailing list
> This SF.NET email is sponsored by:
> SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
> Webware-discuss mailing list