[reportlab-users] ReportLab & thread-safe issue - status?
Robin Becker
robin at reportlab.com
Fri Nov 4 05:26:43 EDT 2016
Hi Yannick,
I have answered questions on stackoverflow, but we prefer that any discussions
take place in the reportlab users list. There is good advice to be had there
from others than those that work directly on reportlab.
We have stated many times that reportlab is not thread safe.
There were issues in the paragraph parsing related to having just one parser at
the module level, but in modern reportlab we use a separate parser for each
paragraph.
That said, we have made no real effort to create a ReportLab class that could
encapsulate the whole state of a reportlab process. That means that there is
only one set of globals and they are not protected by local storage or locks etc
etc. The implication is that one thread could add a font and it wold then be
available to other threads etc etc.
My boss Andy Robinson has always said that document production should be handled
as a task separated from the web. The document production of even simple
documents takes significantly longer than a typical django request.
We do use reportlab to produce documents with django, but in production we use a
forking model so thread safety is not an issue. In addition for requests that
take a long time we also detach a producer process to handle the document task
which allows responsiveness and other benefits. even if the server process does
not have a time out many browsers, proxies & gateways will so a document that
takes more than 30 seconds will probably be created and then lost.
--
Robin Becker
On 01/11/2016 11:15, "Yannick Gosteli"@PETZI wrote:
> Dear M. Becker,
>
> I would be happy to use ReportLab open-source for a project in our organization
> "PETZI" (non-profit organization for music clubs & festivals in Switzerland).
> I'm a bit worry about the "thread-safe" issue we can hear about in forums and
> especially in Django documentation
> <https://docs.djangoproject.com/en/1.10/howto/outputting-pdf/>.
>
> I've been on touch with Jens Lundström about that who experiment this issue and
> gave me your contact.
>
> Jens said me you identify the problem as in xmllib. Did you fix it now?
> Do you have any status about the issue?
>
> Thx for your answer.
> Best regards
> Yannick Gosteli
>
> PS: If you have interest to answer directly to the community, I've posted a
> question for a status on StackOverflow
> <http://stackoverflow.com/questions/40317711/django-reportlab-thread-safe-issue-status>.
>
>
More information about the reportlab-users
mailing list