**Apache Airflow version**:

1.10.12

**What happened**:

I created dag with dagrun_timeout=2 minutes. 

After 2 minutes dagrun is marked as failed and the next one is started, but task keeps going.

**What you expected to happen**:

Task is killed with dag run as it is done when you mark dagrun failed manually.

**How to reproduce it**:
```
dag = DAG(dag_id='platform.airflow-test',
          description='',
          schedule_interval="0 0 * * *",
          start_date=datetime(2020, 7, 1),
          max_active_runs=1,
          catchup=True,
          dagrun_timeout=timedelta(minutes=2))

run_this = BashOperator(
    task_id='run_after_loop',
    bash_command=' for((i=1;i<=600;i+=1)); do echo "Welcome $i times"; sleep 1;  done',
    dag=dag,
)
```
airflow/jobs/scheduler_job.py
self.log.exception("DAG '%s' not found in serialized_dag table", dag_run.dag_id)
                    continue
            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
    @retry_db_transaction
    def _get_next_dagruns_to_examine(self, session):