气流xcom_pull泡菜在框架结束前耗尽

时间:2016-11-29 16:41:56

标签: python pickle airflow

我正在http响应上执行xcom_pull(作为字典)我以前是xcom_push' ed 并收到pickle exhausted before end of frame

对于导致字典较短的http响应,我不会收到此错误。

这是对xcom_pull / push' ed的限制吗?

1 个答案:

答案 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 ='参数。