2012-06-05 15 views
5

पीडीएफ उत्पन्न करने के लिए Django 1.4/पायथन 2.7/reportlab (ओपन सोर्स संस्करण) का उपयोग कर समस्या निवारण।समस्या निवारण heisenbug

चीजें अब तक वास्तव में महान काम कर चुकी हैं। पहले पीडीएफ पीढ़ी (जैसे http में लौटा/डाउनलोड जेनरेट पीडीएफ फ़ाइल अनुरोध किया गया था) 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 

यह देखते हुए कि मैं इस और यकीन है कि अगर पर समस्या नहीं के पुनरुत्पादन एक कठिन समय चल रहा है में होता है मेरी तरफ या रिपोर्टलैब - मैं इस समस्या का निवारण कैसे करें इस पर सुझावों के लिए खुला हूं (क्या यह सिंक समस्या हो सकती है जैसे कि कई उत्पन्न करने वाले या केवल सादे बग या ...) ???

उत्तर

2

इस प्रश्न को रिपोर्टलैब मेलिंग सूची पर पोस्ट किया गया और Reportlab थ्रेड-सुरक्षित नहीं है।

तो रिपोर्टलाब का कोई भी उपयोग जहां आप अंतःविषय समस्याओं को प्राप्त करते हैं और मल्टीथ्रेड/वेब ऐप वातावरण में चल रहे हैं, आपको इसके कारण वास्तव में वास्तव में अजीब समस्याएं मिलेंगी।

अब मैं बाहर काम करने के क्या साथ, हम्म reportlab प्रतिस्थापित करने की आवश्यकता ....

/जेन्स

+0

कोई उस पर प्रगति? क्या आपने 'pycairo' कोशिश की? – Tadeck

+1

अभी भी Reportlab का उपयोग करके, उनसे सीधे बात की और पीडीएफ रिपोर्ट बनाने से पहले प्रत्येक दृश्य में उनकी कॉन्फ़िगरेशन को रीसेट कर दिया और इससे चीजों को हल किया गया: rl_config._reset() –

+0

क्या इसका कोई दुष्प्रभाव है? यदि यह थ्रेड सुरक्षित नहीं है, तो क्या वह पीडीएफ फाइलों को प्रभावित करता है जो पहले उत्पन्न करना शुरू कर दिया था (लेकिन अभी भी खत्म नहीं हुआ)? – Tadeck

संबंधित मुद्दे