气流2.2.4
我想创建PythonVirtualenvOperator,它将从另一个任务中提取它的需求列表。
with DAG(="crawler") as dag:
@task(task_id="read_requirements")
def read_requirements():
requirements_file_path = "requirements.txt"
requirements = []
with open(requirements_file_path, "r") as f:
requirements = f.readlines()
return requirements
def crawler():
print("hello_world")
crawler = PythonVirtualenvOperator(
task_id="crawler",
python_callable=crawler,
requirements="{{ ti.pull('read_requirements') }}",
)
read_requirements() >> crawler
不幸的是,PythonVirtualenvOperator中的requirements字段不能识别模板,也不能将其作为普通字符串读取。
1条答案
按热度按时间c3frrgcw1#
我设法通过将PythonVirtualenvOperator Package 在管理上下文的装饰函数中来解决这个问题。
这感觉不自然,谢天谢地,你可以通过.txt文件在较新的气流版本,但它确实这样工作。