On Wed, 2009-09-09 at 11:44 -0400, Chris McDonough wrote:
> simahawk wrote:
> > hi list,
> > 
> > I created a web-service with repoze.bfg and repoze.bfg.xmlrpc with a
> > xmlrpx_view. This views creates a PDF and it should return me a simple
> > string with the url of the PDF but in order to get my string back I need
> > to restart repoze 'cause the application hangs at some point after the
> > view returns the string.
> > 
> > I went trough the code with pdb and I found that the application hangs
> > on the method "worker_thread_callback" in
> > Paste-1.7.2-py2.6.egg/paste/httpserver.py
> > 
> > I tried to make the view returning the string directly and it works...
> > so it seems it doesn't like processing stuff in the meanwhile... :)
> > 
> > In other word, this works:
> > 
> > [...]
> > @xmlrpc_view
> > def generate_report(context, data):
> >     url = 'http://foo.com/static/file.pdf'
> >     return url
> > [...]
> > 
> > whilst this don't:
> > 
> > [...]
> > @xmlrpc_view
> > def generate_report(context, data):
> >     do_this
> >     [...]
> >     do_that
> >     url = 'http://foo.com/static/file.pdf'
> >     return url
> > [...]
> > 
> > It's a bit weird... any suggestion will be much appreciated.
> 
> You might try the "threads" middleware of repoze.debug:
> 
> http://pypi.python.org/pypi/repoze.debug/0.7
> 
> It might help you get an idea of what your threads are doing during the 
> "lockup".
> 
> - C

Thanks Chris, I'll give a try.

_______________________________________________
Repoze-dev mailing list
Repoze-dev@lists.repoze.org
http://lists.repoze.org/listinfo/repoze-dev

Reply via email to