我试图传递从具有yield语句的生成器函数获取的生成器对象。我有一些代码在yeild之前运行,而一些代码在yield之后运行。我想创建两个Airflow任务,其中yeild之前的代码将在一个任务中运行,yield之后的代码将在第二个任务中运行。那么,对于这种情况,我如何将生成器对象从一个任务传递给另一个任务? Airflow XCOM无法正常工作,因为无法对python生成器对象进行腌制。
例如:
#Generator function
def greet_world():
print("Hello World!")
yield
print("Goodbye world!")
“世界你好!”的声明应该在第一个Airflow任务和第二个语句“再见,世界!”中执行应该在第二个Airflow任务中执行。