该问题是由于Airflow Papermill operator在执行任务时超时导致的。为了解决这个问题,可以通过增加“execution_timeout”参数的值来解决。下面是一个示例代码,将“execution_timeout”设置为2小时:
from airflow.operators.papermill_operator import PapermillOperator
from datetime import datetime, timedelta
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2021, 1, 1),
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
with DAG(
'example_papermill_operator',
default_args=default_args,
description='Example PapermillOperator DAG',
schedule_interval=timedelta(days=1),
catchup=False
) as dag:
papermill_task = PapermillOperator(
task_id='example_papermill_operator_task',
input_nb="/path/to/input/notebook.ipynb",
output_nb="/path/to/output/notebook.ipynb",
parameters={"param": "value"},
execution_timeout=timedelta(hours=2)
)
在这个例子中,我们设置“execution_timeout”为2小时来避免任务在60分钟后超时。可以根据需要将其设置为适当的值。