Attrib exceptions and None objects under heavy load?
I am currently (mis?)using zope as the base for a persistent message queueing system. I have created various Zope classes in Python (message, topic, node, etc.) and will typically create a lot of message objects in a topic object (topic inherits from folder), while reading those messages at the same time AND distributing them to other zopes. This means that there is a lot of object creation, reading and deletion going on from multiple threads. I will typically use getObjectValues to loop through the objects in a container and then handle each object. Sometimes I get the following exceptions: None type does not have attribute bla bla - as if the object I get is a Python None and not the actual object Attribute error when calling a method on a object, even though that object has the relevant method (this one happens a lot). ie. AttributeError: addMessages on a Topic object, even though Topic class has a addMessage defined. The funny thing is, I never get Conflict errors (according to the Zope developer guide, that is what typically happens when multiple threads hit a ZODB). Any suggestions? Thanks Etienne P.S. This message queue product is probably in a state now where I can give it to the community if anybody feel they need something like this and want to contribute to the development.
participants (1)
-
Etienne Labuschagne