| 123456789101112131415161718 |
- from .models import ProgrammedReport
- from django.utils import timezone
- # 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():
- # Calculamos la fecha en la que debe ser enviado
- duedate = (preport.last_report_date +
- preport.frequency) if preport.last_report_date is not None else preport.start_report_date
- if timenow > duedate:
- # Calculamos el rango de envio:
- start_date = preport.last_report_date if preport.last_report_date is not None else preport.start_report_date
- end_date = start_date + preport.frequency
- # Se envía el reporte
- preport.send_report(start_date, end_date)
|