2012-04-08 8 views
6

Mi registro de apio trunca constantemente (no muy) largo mensajes de error, así:apio trunca mensajes de registro

[2012-04-08 04:53:10,084: INFO/MainProcess] Task mainapp.tasks.async_submitter[2df2fe93-156b-4944-9ecf-c55ba53e8aaa] succeeded in 0.190640926361s: 'An error occurred during the submission of... 

hace falta decir que esto elimina la mitad de la finalidad de la tala. ¿Cómo puedo evitar que esto suceda?

Estoy ejecutando apio con django-apio (a través de django-supervisor con el supervisor) en Linux.

+1

Me parece que el truncamiento ocurre en [ 'trabajadores/job.py:repr_result()'](https://github.com/celery/celery/blob/master/celery/worker/job.py#L508). Esto tomaría un argumento 'maxlen', pero en el [lugar donde se llama este método] (https://github.com/celery/celery/blob/master/celery/worker/job.py#L394),' El argumento maxlen' nunca se usa, así que desafortunadamente no creo que haya una forma de configurar esto :-( –

+0

@LukasGraf Gracias. – Marcin

Respuesta

0

La tarea, devolver por diseño, se debe usar para procesar su código y es por eso que probablemente el desarrollador se tomó la libertad de truncar el registro, también porque los retornos pueden ser resultados bastante grandes de elaboración y podrían hacer ilegible un registro salida de información. Por supuesto, podría estar equivocado, pero dado que trabajo con Apio siempre encontré esta lógica correcta y nunca me molestó. En su caso, creo que tiene sentido registrar el mensaje justo antes de la devolución con logger.info (que no se truncará) y si el mensaje que está devolviendo no es realmente necesario para un procesamiento posterior, sino solo para fines de registro, simplemente no lo haga. devolver cualquier valor

1

Desafortunadamente, Celery truncará los mensajes por defecto sí.

partir de la versión 3.1.7 a 3.1.9 parece ser posible ajustar este límite mediante parches de un módulo mundial:

import celery.worker.job 

celery.worker.job.RESULT_MAXLEN = 1048576 # 1 Mib 
Cuestiones relacionadas