def schedule_hourly():
    """ Celery beat job meant to be invoked hourly """

    if not config.get('ENABLE_SCHEDULED_EMAIL_REPORTS'):
        logging.info('Scheduled email reports not enabled in config')
        return

    resolution = config.get('EMAIL_REPORTS_CRON_RESOLUTION', 0) * 60

    # Get the top of the hour
    start_at = datetime.now(tzlocal()).replace(microsecond=0, second=0, minute=0)
    stop_at = start_at + timedelta(seconds=3600)
    schedule_window(ScheduleType.dashboard.value, start_at, stop_at, resolution)
    schedule_window(ScheduleType.slice.value, start_at, stop_at, resolution)
Celery beat job meant to be invoked hourly