You should be able to pass the database into a thread object and obtain a connection from it in order to manipulate the underlying database like so:
class YourThread(threading.Thread): def __init__(self, db): self.db = db def run(self): threading.Thread.run(self) self.doSomething() def doSomething(self): conn = self.db.open() root = conn.root() app = root['Application'] print app.Control_Panel.objectIds() app.foo = 'bar' get_transaction().commit() Then in your code that has a reference to the database via persistence: db = self._p_jar._db worker = YourThread(db) worker.start() ----- Original Message ----- From: "Christian Theune" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, November 09, 2001 6:46 AM Subject: [Zope-dev] Transaction environment in threaded zope-product > Hi. > > I have a zope product, that uses threads, to control programs > running outside zope and doing some async stuff. > > What I found is, that i can't do changes from the self-started > thread (ChrisW: that's the problem... ;) ). > > But how do I get into a transaction do be able to change things on > persistent objects? > > get_transaction().begin() doesn't work, and I don't find any > documentation to get started from ... > > plz help me > > Christian > > -- > Christian Theune - [EMAIL PROTECTED] > gocept gmbh & co.kg - schalaunische strasse 6 - 06366 koethen/anhalt > tel.+49 3496 3099112 - fax.+49 3496 3099118 mob. - 0178 48 33 981 > > reduce(lambda x,y:x+y,[chr(ord(x)^42) for x in 'zS^BED\nX_FOY\x0b']) > > _______________________________________________ > Zope-Dev maillist - [EMAIL PROTECTED] > http://lists.zope.org/mailman/listinfo/zope-dev > ** No cross posts or HTML encoding! ** > (Related lists - > http://lists.zope.org/mailman/listinfo/zope-announce > http://lists.zope.org/mailman/listinfo/zope ) > _______________________________________________ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )