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
active_runs_by_dag_id[dag_id].add(execution_date)
            for dag_run in dag_runs:
                self._schedule_dag_run(dag_run, active_runs_by_dag_id.get(dag_run.dag_id, set()), session)
            guard.commit()
            
            session.expunge_all()
            
            try:
                if self.executor.slots_available <= 0:
                    
                    self.log.debug("Executor full, skipping critical section")
                    return 0
                timer = Stats.timer('scheduler.critical_section_duration')
                timer.start()
                
                num_queued_tis = self._critical_section_execute_task_instances(session=session)
                
                
                timer.stop(send=True)
            except OperationalError as e:
                timer.stop(send=False)
                if is_lock_not_available_error(error=e):
                    self.log.debug("Critical section lock held by another Scheduler")
                    Stats.incr('scheduler.critical_section_busy')
                    session.rollback()
                    return 0
                raise
            guard.commit()
            return num_queued_tis
    def _create_dag_runs(self, dag_models: Iterable[DagModel], session: Session) -> None: