忽略气流 sql 炼金术池大小

Mig*_*uel 5 postgresql psycopg2 airflow

我正在使用 postgres 数据库运行 airlfow 本地执行程序,我得到: (psycopg2.OperationalError) FATAL: remaining connection slots are reserved

我的配置:

sql_alchemy_pool_size = 5 sql_alchemy_pool_recycle = 1800 sql_alchemy_reconnect_timeout = 300

我仍然可以看到气流总是比池大小保持更多的连接打开。 postgres - nr 活动连接

我们如何限制 Airflow 以实际使用池限制?

气流版本 = 1.10.2; postgres_version = 9.6

Nin*_*ker 5

您有主进程的分支作为工作线程,每个分支都管理自己的线程池。

检查LocalExecutor的实现;因为它在引擎盖下使用多处理。SqlAlchemy 将在分叉时关闭任何打开的连接LocalWorker;但是池大小将等于父池大小,因此理论上您将拥有最大k * (n + 1)连接数,n您的并行性常量在哪里,k您的sql_alchemy_pool_size.