mik-laj commented on pull request #9544:
URL: https://github.com/apache/airflow/pull/9544#issuecomment-655818454


   Can you add this test case to avoid regression in number of queries?
   ```python
       @provide_session
       def test_process_dags_queries_count_after_finish_dag_run(self, session):
           with mock.patch.dict("os.environ", {
               "PERF_DAGS_COUNT": "3",
               "PERF_TASKS_COUNT": "20",
               "PERF_START_AGO": "1d",
               "PERF_SCHEDULE_INTERVAL": "16h",
               "PERF_SHAPE": "grid",
           }), conf_vars({
               ('scheduler', 'use_job_schedule'): 'True',
           }):
               dagbag = DagBag(dag_folder=ELASTIC_DAG_FILE, 
include_examples=False)
               processor = DagFileProcessor([], mock.MagicMock())
   
               # Create new DAG Runs
               with assert_queries_count(28):
                   processor._process_dags(dagbag.dags.values())
   
               self.assertEqual(session.query(DagRun).count(), 3)
               self.assertEqual(session.query(DagRun).filter(DagRun.state == 
State.RUNNING).count(), 3)
   
               # No new DAG Run
               with assert_queries_count(19):
                   processor._process_dags(dagbag.dags.values())
   
               self.assertEqual(session.query(DagRun).count(), 3)
               self.assertEqual(session.query(DagRun).filter(DagRun.state == 
State.RUNNING).count(), 3)
   
               session.query(TaskInstance).update({
                   "state": State.SUCCESS,
                   "start_date": timezone.utcnow(),
                   "end_date": timezone.utcnow(),
                   "duration": 0,
               })
   
               # Finish Dag Runs
               with assert_queries_count(19):
                   processor._process_dags(dagbag.dags.values())
   
               self.assertEqual(session.query(DagRun).count(), 3)
               self.assertEqual(session.query(DagRun).filter(DagRun.state == 
State.RUNNING).count(), 0)
   
               # No new DAG Runs
               with assert_queries_count(7):
                   processor._process_dags(dagbag.dags.values())
   
               self.assertEqual(session.query(DagRun).count(), 3)
               self.assertEqual(session.query(DagRun).filter(DagRun.state == 
State.RUNNING).count(), 0)    @provide_session
       def test_process_dags_queries_count_after_finish_dag_run(self, session):
           with mock.patch.dict("os.environ", {
               "PERF_DAGS_COUNT": "3",
               "PERF_TASKS_COUNT": "20",
               "PERF_START_AGO": "1d",
               "PERF_SCHEDULE_INTERVAL": "16h",
               "PERF_SHAPE": "grid",
           }), conf_vars({
               ('scheduler', 'use_job_schedule'): 'True',
           }):
               dagbag = DagBag(dag_folder=ELASTIC_DAG_FILE, 
include_examples=False)
               processor = DagFileProcessor([], mock.MagicMock())
   
               # Create new DAG Runs
               with assert_queries_count(28):
                   processor._process_dags(dagbag.dags.values())
   
               self.assertEqual(session.query(DagRun).count(), 3)
               self.assertEqual(session.query(DagRun).filter(DagRun.state == 
State.RUNNING).count(), 3)
   
               # No new DAG Run
               with assert_queries_count(19):
                   processor._process_dags(dagbag.dags.values())
   
               self.assertEqual(session.query(DagRun).count(), 3)
               self.assertEqual(session.query(DagRun).filter(DagRun.state == 
State.RUNNING).count(), 3)
   
               session.query(TaskInstance).update({
                   "state": State.SUCCESS,
                   "start_date": timezone.utcnow(),
                   "end_date": timezone.utcnow(),
                   "duration": 0,
               })
   
               # Finish Dag Runs
               with assert_queries_count(19):
                   processor._process_dags(dagbag.dags.values())
   
               self.assertEqual(session.query(DagRun).count(), 3)
               self.assertEqual(session.query(DagRun).filter(DagRun.state == 
State.RUNNING).count(), 0)
   
               # No new DAG Runs
               with assert_queries_count(7):
                   processor._process_dags(dagbag.dags.values())
   
               self.assertEqual(session.query(DagRun).count(), 3)
               self.assertEqual(session.query(DagRun).filter(DagRun.state == 
State.RUNNING).count(), 0)
   ```


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to