https://github.com/apache/airflow/blob/main/airflow/cli/commands/task_command.py#L145
self,
        schedulable_tis: Iterable[TI],
        session: Session = NEW_SESSION,
        max_tis_per_query: int | None = None,
    ) -> int:
        """
        Set the given task instances in to the scheduled state.
        Each element of ``schedulable_tis`` should have its ``task`` attribute already set.
        Any EmptyOperator without callbacks or outlets is instead set straight to the success state.
        All the TIs should belong to this DagRun, but this code is in the hot-path, this is not checked -- it
        is the caller's responsibility to call this function only with TIs from a single dag run.
        """
        
        
        dummy_ti_ids = []
        schedulable_ti_ids = []
        for ti in schedulable_tis:
            if (
                ti.task.inherits_from_empty_operator
                and not ti.task.on_execute_callback
                and not ti.task.on_success_callback
                and not ti.task.outlets
            ):
                dummy_ti_ids.append((ti.task_id, ti.map_index))
            else: