views:

104

answers:

1

The setup:

  • Django 1.0
  • default sessions (db, no caching)
  • apache 2.2, mod_python, prefork, 5 processes

What I am trying to do:

  • initialize a new object (custom class, several dicts as member variables, a few methods)
  • save it in the session.
  • use that object from several subsequent requests

Problem:

  • The process that created the object stores and accesses that object from subsequent requests without a problem.
  • other processes get an object from the session, but that object's member variables are different. One of the dicts which has data in the original process, is empty in other processes
  • the dict in question is several levels deep, but has only values (no references to in-memory objects that I know of)

I have a cludgy workaround, but I'd really like to know what is going on here. Any ideas?

A: 

make sure your object is picklable

Javier