from .models import ProgrammedReport from django.utils import timezone import logging logger = logging.getLogger('django') # Task que determina que reportes deben ser enviados: # Ejecutado por Cron (Ver settings.py) def send_programmed_reports_task(): timenow = timezone.now() 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))