https://github.com/apache/airflow/blob/main/airflow/cli/commands/task_command.py#L145
"""
        Check dependencies and then sets state to RUNNING if they are met.
        Returns True if and only if state is set to RUNNING, which implies that task should be
        executed, in preparation for _run_raw_task.
        :param verbose: whether to turn on more verbose logging
        :param ignore_all_deps: Ignore all of the non-critical dependencies, just runs
        :param ignore_depends_on_past: Ignore depends_on_past DAG attribute
        :param wait_for_past_depends_before_skipping: Wait for past depends before mark the ti as skipped
        :param ignore_task_deps: Don't check the dependencies of this TaskInstance's task
        :param ignore_ti_state: Disregards previous task instance state
        :param mark_success: Don't run the task, mark its state as success
        :param test_mode: Doesn't record success or failure in the DB
        :param job_id: Job (BackfillJob / LocalTaskJob / SchedulerJob) ID
        :param pool: specifies the pool to use to run the task instance
        :param external_executor_id: The identifier of the celery executor
        :param session: SQLAlchemy ORM Session
        :return: whether the state was changed to running or not
        """
        task = self.task
        self.refresh_from_task(task, pool_override=pool)
        self.test_mode = test_mode
        self.refresh_from_db(session=session, lock_for_update=True)
        self.job_id = job_id
        self.hostname = get_hostname()
        self.pid = None
        if not ignore_all_deps and not ignore_ti_state and self.state == TaskInstanceState.SUCCESS:
            Stats.incr("previously_succeeded", tags=self.stats_tags)
        if not mark_success: