https://github.com/apache/airflow/pull/12139 added some new params to the scheduler -- we have "cursory" docs for them in the comments in the config file, but we should have a more details docs in the scheduler.rst page.
airflow/jobs/scheduler_job.py
schedulable_tis, callback_to_run = dag_run.update_state(session=session, execute_callbacks=False)
        self._send_dag_callbacks_to_processor(dag_run, callback_to_run)
        
        
        
        
        return dag_run.schedule_tis(schedulable_tis, session)
    @provide_session
    def _verify_integrity_if_dag_changed(self, dag_run: DagRun, session=None):
        """Only run DagRun.verify integrity if Serialized DAG has changed since it is slow"""
        latest_version = SerializedDagModel.get_latest_version_hash(dag_run.dag_id, session=session)
        if dag_run.dag_hash == latest_version:
            self.log.debug("DAG %s not changed structure, skipping dagrun.verify_integrity", dag_run.dag_id)
            return
        dag_run.dag_hash = latest_version
        
        dag_run.dag = self.dagbag.get_dag(dag_id=dag_run.dag_id, session=session)
        
        dag_run.verify_integrity(session=session)
    def _send_dag_callbacks_to_processor(
        self, dag_run: DagRun, callback: Optional[DagCallbackRequest] = None
    ):
        if not self.processor_agent:
            raise ValueError("Processor agent is not started.")
        dag = dag_run.get_dag()
        self._send_sla_callbacks_to_processor(dag)
        if callback:
            self.processor_agent.send_callback_to_execute(callback)
    def _send_sla_callbacks_to_processor(self, dag: DAG):