[reportlab-users] Re: thread safe ?

Robin Becker reportlab-users@reportlab.com
Mon, 29 Jul 2002 16:32:49 +0100

In article <ai3f9o$a7t$1@main.gmane.org>, Jeff Kowalczyk <jtk@yahoo.com>
>> (7) do not use the same TrueType font for different documents at the
>> same time
>> That's an artifact of dynamic subsetting code in ttfonts.TTFont, and I
>> think I could fix it without much difficulty if there's a need.  The
>> font object would have to maintain different subsets indexed by
>> id(canvas).
>Actually, that may be a limitation Zope users could run into. My typical
>Zope use case for reportlab will be to build dynamic forms and reports on
>demand, in response to web form requests. I'm building things emulating Jeff
>Bauer's HCFA form sample in Zope 'Product' modules, with web form input for
>the text. They would likely have at least some TTF fonts and other
>formatting shared between reports, although I've been developing with only
>basic fonts up to now.
>Since I'm on the subject, this type of Zope usage should be clear of most of
>the global shared state issues that limit thread-safety, right? I'm not
>really adjusting any global settings, and most of my reports will be simple
>lines and text written to canvas of fixed layout and discrete pages. As soon
>as the PDF is complete, I write it to the Zope Database or the HTTP
>response. Multiple requests to the Zope python product will certainly
>overlap under load, but the canvases will never be shared. Should be OK?
well providing you initialize all the fonts etc etc, but I think Aaron
is correct in saying that there's only one parser instance in
platypus.paraparser. That's a C object and should certainly cause
problems if someone else is resetting it while you're halfway through.

Really not thread safe ;(    
>reportlab-users mailing list

Robin Becker