2012-06-05 4 views
5

Использование Django 1.4/Python 2.7/reportlab (с открытым исходным кодом) для генерации pdf.Устранение неполадок reportlab heisenbug

Вещи работали действительно замечательно до сих пор. Ранее генерация PDF (как в запрошенном HTTP запрошенном/загруженном сгенерированном pdf-файле) была на Django 1.3 и не открыта для публики. Усовершенствовали и сделали бесплатную функцию на многих страницах и теперь начинают испытывать проблемы.

Я получаю «случайные» проблемы (так как в некоторых случаях я вижу, что в журналах есть исключения), но я никогда не мог сам воспроизводить проблемы (в большинстве случаев это работает).

Что я получаю следующий тип ошибок, которые всегда происходит в парах

Exception Value: ParaParser instance has no attribute '_seq' 
    Exception Location: /home/tss/lib/python2.7/reportlab-2.5-py2.7-linux-i686.egg/reportlab/platypus/paraparser.py in _complete_parse, line 1061 

, а затем

Exception Value: 'NoneType' object has no attribute 'close' 
    Exception Location: /home/tss/lib/python2.7/reportlab-2.5-py2.7-linux-i686.egg/reportlab/lib/xmllib.py in close, line 521 

Учитывая, что я с трудом воспроизводя это и не уверен, что если проблема на моя сторона или reportlab - я открыт для предложений о том, как устранить эту проблему (может ли это быть проблемой синхронизации, как во многих генерирующих conccurently или просто простой ошибкой или ...) ???

ответ

2

Отправленный этот вопрос в списке рассылки reportlab и Reportlab не является потокобезопасным.

Таким образом, любое использование reportlab, в результате которого вы получаете прерывистые проблемы и работаете в многопоточной среде, вы получите действительно странные проблемы из-за этого.

Теперь мне нужно работать, что заменить ReportLab с, хмм ....

/Jens

+0

Любой прогресс в этом? Вы пытались «pycairo»? – Tadeck

+1

Все еще используя Reportlab, беседовал с ними напрямую и в конечном итоге делал сброс своей конфигурации в каждом представлении до создания отчетов в формате PDF, и это решило вещи: rl_config._reset() –

+0

Есть ли у него какие-либо побочные эффекты? Если это не потокобезопасно, это влияет на файлы PDF, которые начали генерировать раньше (но еще не закончили)? – Tadeck

Смежные вопросы