[Zope-dev] Re: [Zope-DB] Thread in ZODB
Andre Meyer
a.meyer at hccnet.nl
Sun Apr 11 06:49:38 EDT 2004
Thanks, the hint of Sandor with adding the thread as an attribute to the
module instead of the class worked well for me.
sorry for cross-posting
kind regards
Andre
Andreas Jung wrote:
> You can't associate thread or locks as *persistent* attributes. Use
> _v_someattribute
> instead.
>
> -aj
>
> P.S. and please no crosspostings
>
> --On Samstag, 10. April 2004 10:33 Uhr +0200 Andre Meyer
> <a.meyer at hccnet.nl> wrote:
>
>> Hi Zopers
>>
>> Here is a nice challenge, I hope:
>>
>> I have a multi-threaded Python application that I want to link to Zope.
>> The idea is to provide a Web interface for viewing and editing the state
>> of multiple threads running in Python. On thread should be associated
>> with Zope and act as the "door" between the ZServer and the other
>> threads.
>> Unfortunately, I do not manage to create a reference to a thread in the
>> Zope product's main class because the ZODB refuses to add it.
>> This is the error message when trying to instantiate the product:
>>
>>
>> Site Error
>> An error was encountered while publishing this resource.
>> Error Type: UnpickleableError
>> Error Value: Cannot pickle <type 'thread.lock'> objects
>>
>>
>> And this is the code where it goes wrong:
>>
>>
>> class Zpyse(SimpleFolder):
>> meta_type = "Zpyse"
>> manage_options = (
>> {'label':'Edit', 'action':'manage_main'},
>> {'label':'View', 'action':'index_html'}
>> )
>> index_html = PageTemplateFile('zpt/index_html', globals())
>> def manage_editZpyse(self, title, REQUEST=None):
>> "Method to edit Zpyse instances."
>> self.title = title
>> if REQUEST is not None:
>> return self.index_html(self, REQUEST)
>> def __init__(self, id, title):
>> # Sender/Receiver Test
>> print 'init Zpyse'
>> ams = spyse.getAMS()
>> * self.za = ams.createThread('ZopeThread', 'ZopeThread',
>> globals())
>> qa = ams.createThread('Receiver', 'ReceiverThread', globals())
>> sa = ams.createThread('Sender', 'SenderThread', globals())
>>
>> * only this goes wrong, the other threads are created (without self.).
>>
>>
>>
>> Is there anybody with a good idea about how to handle this?
>>
>> thanks a lot in advance
>> Andre
>
>
>
>
>
>
>
--
Dr. Andre P. Meyer http://home.hccnet.nl/a.meyer/
TNO FEL Command & Control and Simulation, http://www.fel.tno.nl/div2/
Delft Cooperation on Intelligent Systems, http://www.decis.nl/
More information about the Zope-Dev
mailing list