TypeError:无效参数'visibility_timeout'发送到创建引擎()

时间:2018-04-12 07:59:55

标签: python sqlalchemy celery airflow

我用celery(4.1.0)执行器安装了最新的apache-airflow(1.9.0)。

以下是我对airflow.cfg的设置:

broker_url = sqla+mysql://username:password@host:3306/dbname

取自http://docs.sqlalchemy.org/en/latest/dialects/mysql.html#module-sqlalchemy.dialects.mysql.pymysql

试图让气流工作者得到

  

TypeError:使用配置MySQLDialect_mysqldb / QueuePool / Engine发送到创建engine()的无效参数'visibility_timeout'。请检查关键字参数是否适合此组件组合。

请注意,我没有发送任何显式参数来创建engine()。

This is the screenshot of my error. 专家的任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

这是Airflow 1.9.0中的一个已知错误,该错误已修复:

即将发布即将发布的Airflow 1.10版本,其中包含这些修复程序。如果您可以等待,请使用它。

如果你必须坚持使用Airflow 1.9.0,那么 尝试切换broker_url以使用Redis数据库 而不是sqla + mysql方案

答案 1 :(得分:0)

看起来像个错误。

您可以看到visibility_timeout是传递给Celery代理as defined here的默认选项。

我的猜测是,在forwarded by Airflow in the app constructor之后,这个选项被Celery发送给SQLAlchemy经纪人,但我不完全确定。我无法一直追溯,因为你没有提供堆栈跟踪。