def render_log_filename(self, ti: TaskInstance, try_number: Optional[int] = None): """ Renders the log attachment filename :param ti: The task instance :type ti: TaskInstance :param try_number: The task try number :type try_number: Optional[int] :rtype: str """ filename_template = conf.get('logging', 'LOG_FILENAME_TEMPLATE') attachment_filename = render_log_filename( ti=ti, try_number="all" if try_number is None else try_number, filename_template=filename_template) return attachment_filename
def test_render_log_filename(self): try_number = 1 dag_id = 'test_render_log_filename_dag' task_id = 'test_render_log_filename_task' execution_date = datetime(2016, 1, 1) dag = DAG(dag_id, start_date=execution_date) task = DummyOperator(task_id=task_id, dag=dag) ti = TaskInstance(task=task, execution_date=execution_date) filename_template = "{{ ti.dag_id }}/{{ ti.task_id }}/{{ ts }}/{{ try_number }}.log" ts = ti.get_template_context()['ts'] expected_filename = f"{dag_id}/{task_id}/{ts}/{try_number}.log" rendered_filename = helpers.render_log_filename(ti, try_number, filename_template) assert rendered_filename == expected_filename
def test_render_log_filename(self): try_number = 1 dag_id = 'test_render_log_filename_dag' task_id = 'test_render_log_filename_task' execution_date = datetime(2016, 1, 1) dag = DAG(dag_id, start_date=execution_date) task = DummyOperator(task_id=task_id, dag=dag) ti = TaskInstance(task=task, execution_date=execution_date) filename_template = "{{ ti.dag_id }}/{{ ti.task_id }}/{{ ts }}/{{ try_number }}.log" ts = ti.get_template_context()['ts'] expected_filename = "{dag_id}/{task_id}/{ts}/{try_number}.log".format(dag_id=dag_id, task_id=task_id, ts=ts, try_number=try_number) rendered_filename = helpers.render_log_filename(ti, try_number, filename_template) self.assertEqual(rendered_filename, expected_filename)
def render_log_filename( self, ti: TaskInstance, try_number: Optional[int] = None, *, session: Session = NEW_SESSION, ): """ Renders the log attachment filename :param ti: The task instance :param try_number: The task try number :rtype: str """ dagrun = ti.get_dagrun(session=session) attachment_filename = render_log_filename( ti=ti, try_number="all" if try_number is None else try_number, filename_template=dagrun.get_log_filename_template( session=session), ) return attachment_filename