小编Imm*_*ion的帖子

flask、gunicorn (gevent)、sqlalchemy (postgresql):连接太多

我创建了用作 WSGI 服务器的FlaskWSGI 应用程序gunicorn,用于PostgreSQL通过Flask SQLAlchemy扩展使用的 DB 。这一切都托管在Heroku.

枪炮配置

  • 工人人数:2人;
  • 工人连接数:1024;
  • 线程数:1;
  • 工人阶级:gevent。

Heroku PostgreSQL 配置

  • 最大连接数:20。

对于其他一切,使用默认配置。

我收到此错误:sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) FATAL: too many connections for role <id>。显然,我超出了允许的数据库连接数。

我尝试了这些东西来修复它:

  • 对于 SQLAlchemy 设置poolclassNullPool;
  • SQLAlchmey 设置pool_recycle为 2。即使超过 2 秒,连接数仍然相同;
  • session.close()engine.dispose();
  • 工人数量 - 2,工人连接数量 - 9;
  • 工人数量 - 1,工人连接数量 - 18;
  • 工人数 - 1,工人连接数 - 10, SQLAlchemy max_overflow = 0, SQLALchmey pool_size = …

python postgresql sqlalchemy flask gunicorn

9
推荐指数
1
解决办法
1171
查看次数

不能在 webpack 配置中使用 ES6 导入

CommonJS 导入const webpack = require('webpack');工作正常,但 ES6import webpack from 'webpack';没有。

来自Webpack 文档

webpack 版本 2 原生支持 ES6 模块语法。

但它对我来说不是开箱即用的。

我也试过:

  • 使用babel-loader的JS文件;
  • 将“babel”添加到配置文件名称中。

但这一切都行不通。

包.json

"scripts": {
    "build:dev": "webpack --config webpack.config.dev.babel"
},
"devDependencies": {
    "babel-loader": "^7.1.4",
    "webpack": "^4.8.3",
    "webpack-cli": "^2.1.3",
    "webpack-merge": "^4.1.2"
}
Run Code Online (Sandbox Code Playgroud)

webpack.config.common.babel.js

export const /* in this implied like default */ module = {
    loaders: [
        {
            test: /\.js$/,
            loader: 'babel-loader',
            exclude: '/node_modules/'
        }
    ],
};
Run Code Online (Sandbox Code Playgroud)

webpack.config.dev.babel.js

import webpack from 'webpack';
import …
Run Code Online (Sandbox Code Playgroud)

javascript import node.js ecmascript-6 webpack

7
推荐指数
1
解决办法
5438
查看次数