我正在http响应上执行xcom_pull(作为字典)我以前是xcom_push' ed
并收到pickle exhausted before end of frame
。
对于导致字典较短的http响应,我不会收到此错误。
这是对xcom_pull / push' ed的限制吗?
答案 0 :(得分:0)
我有这个问题或非常类似的问题。我们正在使用MySQL DB for Airflow。它发生在xcom_pull()之后,跟踪通过sqlalchemy。深入研究数据库表明,pickle作为blob存储在dag_pickle.pickle列中,其最大大小为65,535字节。
对我们来说,一些表格调整可以解决问题:
alter table dag_pickle modify pickle MEDIUMBLOB;
alter table xcom modify value MEDIUMBLOB;
两者可能没有必要。当通过airflow / models.py创建表时,更永久的修复可能涉及使用'length ='参数。