If you have a DAG with `max_active_runs=1` and it is running some tasks, and then you manually trigger another run of this DAG, both runs end up not scheduling anything and you see this message over and over in the logs:

```
[2020-10-16 14:00:34,118]  2437572 {{airflow.jobs.scheduler_job.SchedulerJob scheduler_job.py:1657}} INFO - DAG scenario1_case2_01_1 already has 1 active runs, not queuing any more tasks
```

A longer term fix for this would be to introduce a "queued" state for DagRuns, and then when manually creating dag runs set it to queued, and only have the scheduler set DagRuns to running.

That may or may not be less work than fixing the current mechanism.
airflow/jobs/scheduler_job.py
).all()
        
        
        if len(task_instances_to_examine) == 0:
            self.log.debug("No tasks to consider for execution.")
            return executable_tis
        
        task_instance_str = "\n\t".join(
            [repr(x) for x in task_instances_to_examine])
        self.log.info(
            "%s tasks up for execution:\n\t%s", len(task_instances_to_examine),
            task_instance_str
        )
        pool_to_task_instances: DefaultDict[str, List[models.Pool]] = defaultdict(list)
        for task_instance in task_instances_to_examine:
            pool_to_task_instances[task_instance.pool].append(task_instance)
        
        dag_concurrency_map: DefaultDict[str, int]
        task_concurrency_map: DefaultDict[Tuple[str, str], int]
        dag_concurrency_map, task_concurrency_map = self.__get_concurrency_maps(
            states=list(EXECUTION_STATES), session=session)
        num_tasks_in_executor = 0
        
        num_starving_tasks_total = 0
        
        
        
        for pool, task_instances in pool_to_task_instances.items():
            pool_name = pool
            if pool not in pools: