Procházet zdrojové kódy

Fixed error on conditional log, mas seguridad con try-except

Tomás Ponce Gessi před 3 roky
rodič
revize
aea4737988
1 změnil soubory, kde provedl 12 přidání a 4 odebrání
  1. 12 4
      app/api/tasks.py

+ 12 - 4
app/api/tasks.py

@@ -7,7 +7,15 @@ logger = logging.getLogger('django')
 # Ejecutado por Cron (Ver settings.py)
 def send_programmed_reports_task():
     timenow = timezone.now()
-    for preport in ProgrammedReport.objects.all():        
-        if timenow > preport.due_date:
-            sent = preport.send_report()
-            logger.info("Se envio" if sent else "No se pudo enviar","el Programmed Report ID:", preport.id)
+    for preport in ProgrammedReport.objects.all():
+        try: # Este try-except evita que si haya errores en el envio de algun reporte se cancele el envio de los que siguen.
+            if timenow > preport.due_date:
+                sent = preport.send_report()
+                if sent:
+                    logger.info("Se envio el Programmed Report ID:", preport.id)
+                else:
+                    logger.info("No se pudo enviar el Programmed Report ID:", preport.id)
+        except Exception:
+            logger.exception("Error enviando Reporte Programado: {}".format(preport.id))
+                
+