On Tue, Mar 04, 2003 at 09:30:53AM +0000, Toby Dickenson wrote:
On Tuesday 04 March 2003 9:22 am, Jerome Alet wrote:
Zope uses (by default) four publishing threads. That means you will get four copies of your objects in memory at any one time (or 8, if you have 2 zeo clients). You also have the possibility of ZODB choosing to deactivate your object, so all attributes are lost from all 4 of those objects.
'hardware plug&play' makes me think this is this what you want... Perhaps storing this special object in a module-level global would be better?
but I must be sure that only one thread deals with the hardware at a time.
myZopePersistentClassInstance.complexAttr = myNonZopeClass()
but this will probably, if it works, bloat by ZODB.
is there a way to do this without suffering from severe bloat ?
myZopePersistentClassInstance._v_complexAttr = myNonZopeClass()
will exclude that attribute from ZODB processing.
This is perfect ! But now how can I be use that no other thread access the hardware at the same time ? (if possible a single device open at Zope start or on-demand would be fine) I actually use a CGI script for this, but I wondered if using Zope instead wouldn't make it more "reactive". Thanks in advance. Jerome Alet