def METHOD_NAME(period: IndicatorPeriod) -> List[IndicatorPeriodAggregationJob]:
    """
    Schedule a job for the period to be aggregated upwards if no job exists
    """
    logger.info("Scheduling indicator aggregation job for %s: %s", period, period.indicator.title)
    affected_periods = _get_affected_periods(period)
    existing_jobs = get_scheduled_jobs().filter(period__in=affected_periods)
    existing_job_periods = []
    for job in existing_jobs:
        job.save()
        existing_job_periods.append(job.period)
    candidate_periods = [p for p in affected_periods if p not in existing_job_periods]
    new_jobs = [_create_aggregation_job(p) for p in candidate_periods]
    return [p for p in existing_jobs] + new_jobs