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.
tests/jobs/test_scheduler_job.py
date = dag.following_schedule(date)
            ti1 = TaskInstance(task1, dr.execution_date)
            ti2 = TaskInstance(task2, dr.execution_date)
            tis.append(ti1)
            tis.append(ti2)
            ti1.refresh_from_db()
            ti2.refresh_from_db()
            ti1.state = State.SCHEDULED
            ti2.state = State.SCHEDULED
            session.merge(ti1)
            session.merge(ti2)
            session.flush()
        scheduler.max_tis_per_query = 2
        res = scheduler._critical_section_execute_task_instances(session)
        self.assertEqual(2, res)
        scheduler.max_tis_per_query = 8
        with mock.patch.object(type(scheduler.executor),
                               'slots_available',
                               new_callable=mock.PropertyMock) as mock_slots:
            mock_slots.return_value = 2
            
            self.assertEqual(2, res)
            res = scheduler._critical_section_execute_task_instances(session)
        res = scheduler._critical_section_execute_task_instances(session)
        self.assertEqual(4, res)
        for ti in tis:
            ti.refresh_from_db()
            self.assertEqual(State.QUEUED, ti.state)
    @pytest.mark.quarantined
    def test_change_state_for_tis_without_dagrun(self):