2012-06-05 12 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はスレッドセーフではありません。

間欠的な問題が発生し、マルチスレッド/ Webアプリケーション環境で実行されているreportlabを使用すると、これによって本当に本当に奇妙な問題が発生します。

今、私は

/イェンス

+0

....うーん、とReportLabのを置き換えるために何かを動作するようにその上の任意の進展が必要?あなたは 'pycairo'を試しましたか? – Tadeck

+1

まだReportlabを使用しています。彼らに直接話をして、各ビューで設定をリセットしてからpdfレポートを生成すると、これで解決しました。rl_config._reset() –

+0

副作用はありますか?スレッドセーフでない場合、以前に生成を開始したPDFファイルに影響はありますか(まだ完了していません)。 – Tadeck

関連する問題