2012-06-05 32 views
5

Sử dụng Django 1.4/Python 2.7/reportlab (phiên bản nguồn mở) để tạo pdf.Khắc phục sự cố reportlab heisenbug

Mọi thứ đã hoạt động thực sự tuyệt vời cho đến bây giờ. Trước đây thế hệ pdf (như trong http yêu cầu trả lại/tải về tập tin pdf tạo ra) là trên Django 1.3 và không mở cửa cho công chúng. Đã nâng cấp và làm cho tính năng miễn phí trên nhiều trang và bây giờ bắt đầu có vấn đề.

Tôi gặp vấn đề 'ngẫu nhiên' (như tôi thấy có ngoại lệ trong một thời gian trong nhật ký) nhưng tôi chưa bao giờ có thể tự tái tạo các vấn đề (mọi thứ hoạt động phần lớn thời gian).

Những gì tôi nhận được là các loại sau đây của các lỗi mà luôn luôn xảy ra trong cặp

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 

và sau đó

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 

Cho rằng tôi đang gặp khó khăn tái tạo này và không chắc chắn nếu vấn đề trên bên của tôi hoặc reportlab - Tôi đang mở cho các đề xuất về cách khắc phục sự cố này (có thể nó là vấn đề đồng bộ hóa như trong nhiều tạo ra conccurently hoặc chỉ là một lỗi đơn giản hoặc ...) ???

Trả lời

2

Đã đăng câu hỏi này trên danh sách gửi thư báo cáo và Reportlab không an toàn cho chuỗi.

Vì vậy, bất kỳ việc sử dụng reportlab nào mà bạn sẽ gặp phải các vấn đề liên tục và đang chạy trong môi trường ứng dụng đa luồng/web, bạn sẽ gặp phải những vấn đề thực sự lạ.

Bây giờ tôi cần phải làm việc ra những gì để thay thế ReportLab với, hmm ....

/Jens

+0

Bất kỳ sự tiến bộ về điều đó? Bạn đã thử 'pycairo' chưa? – Tadeck

+1

Vẫn đang sử dụng Reportlab, đã nói chuyện với họ trực tiếp và kết thúc việc thiết lập lại cấu hình của họ trong mỗi chế độ xem trước khi tạo báo cáo pdf và điều này đã giải quyết được mọi thứ: rl_config._reset() –

+0

Có tác dụng phụ nào không? Nếu nó không phải là chủ đề an toàn, có ảnh hưởng đến các tập tin PDF mà bắt đầu tạo ra trước đó (nhưng vẫn không kết thúc)? – Tadeck