I couldn't find any official documentation specifying what each parameter to a `sla_miss_callback` callable are. This would be a great addition to know how to properly format the messages sent.
airflow/models/dag.py
earliest = timezone.coerce_datetime(earliest)
        latest = timezone.coerce_datetime(latest)
        restriction = TimeRestriction(earliest, latest, catchup=True)
        
        
        
        
        
        
        if self.is_subdag:
            align = False
        info = self.timetable.next_dagrun_info(last_automated_data_interval=None, restriction=restriction)
        if info is None:
            
            
            if not align:
                yield DagRunInfo.interval(earliest, latest)
            return
        
        
        if not align and info.logical_date != earliest:
            yield DagRunInfo.interval(earliest, info.data_interval.start)
        
        while info is not None:
            yield info
            info = self.timetable.next_dagrun_info(
                last_automated_data_interval=info.data_interval,
                restriction=restriction,
            )
    def get_run_dates(self, start_date, end_date=None):