2012-06-05 35 views
5

Usando Django 1.4/Python 2.7/reportlab (versión de código abierto) para generar pdf.Solucionar problemas reportlab heisenbug

Las cosas han funcionado realmente bien hasta ahora. Anteriormente, la generación de archivos PDF (como en el archivo pdf solicitado devuelto/descargado http) se encontraba en Django 1.3 y no se abrió al público. Ha mejorado y hecho funciones gratuitas en muchas páginas y ahora comienza a tener problemas.

Tengo problemas 'aleatorios' (como en el caso de que haya excepciones de vez en cuando en los registros) pero nunca he podido reproducir los problemas yo mismo (las cosas funcionan la mayor parte del tiempo).

Lo que se ve es el siguiente tipo de errores que sucede siempre en pares

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 

y luego

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 

Dado que estoy teniendo un tiempo difícil reproducir esto y no estoy seguro si el problema de my side or reportlab - Estoy abierto a sugerencias sobre cómo resolver este problema (¿podría ser un problema de sincronización como en muchos generando de manera concisa o simplemente un error simple o ...) ???

Respuesta

2

Publica esta pregunta en la lista de correo de ReportLab y Reportlab no es seguro para subprocesos.

De modo que cualquier uso de reportlab en el que termine teniendo problemas intermitentes y se ejecute en un entorno de aplicación multihilo/web, obtendrá problemas muy extraños debido a esto.

Ahora tengo que trabajar en lo que a reemplazar con reportlab, hmm ....

/Jens

+0

Cualquier progreso en ese? ¿Has probado 'pycairo'? – Tadeck

+1

Todavía usando Reportlab, hablé con ellos directamente y terminé haciendo un reinicio de sus config en cada vista antes de generar informes en pdf y esto ha solucionado las cosas: rl_config._reset() –

+0

¿Tiene algún efecto secundario? Si no es seguro para subprocesos, ¿eso influye en los archivos PDF que comenzaron a generar antes (pero que aún no terminaron)? – Tadeck

Cuestiones relacionadas