我用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. 专家的任何帮助将不胜感激。
答案 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经纪人,但我不完全确定。我无法一直追溯,因为你没有提供堆栈跟踪。