Sequelize,MySQL,并在Heroku部署的超时退出不活动

我试图通过ClearDB使用Sequelize和MySQL数据库来部署nodejs SPA到Heroku。 该应用程序在本地工作,成功build立在Heroku上,并崩溃时,我从浏览器请求它与以下错误:

2017-05-15T01:57:11.830234+00:00 app[web.1]: Unhandled rejection SequelizeConnectionError: Quit inactivity timeout 2017-05-15T01:57:11.830243+00:00 app[web.1]: at Quit._callback (/app/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:136:30) 2017-05-15T01:57:11.830244+00:00 app[web.1]: at Quit.Sequence.end (/app/node_modules/mysql/lib/protocol/sequences/Sequence.js:86:24) 2017-05-15T01:57:11.830245+00:00 app[web.1]: at /app/node_modules/mysql/lib/protocol/Protocol.js:399:18 2017-05-15T01:57:11.830246+00:00 app[web.1]: at Array.forEach (native) 2017-05-15T01:57:11.830246+00:00 app[web.1]: at /app/node_modules/mysql/lib/protocol/Protocol.js:398:13 2017-05-15T01:57:11.830247+00:00 app[web.1]: at _combinedTickCallback (internal/process/next_tick.js:73:7) 2017-05-15T01:57:11.830248+00:00 app[web.1]: at process._tickCallback (internal/process/next_tick.js:104:9) 2017-05-15T01:57:24.016935+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/" host=widg.herokuapp.com request_id=cc5ac3b0-c003-46df-af32-e80f46d56a0b fwd="69.140.81.157" dyno=web.1 connect=1ms service=30000ms status=503 bytes=0 protocol=http 2017-05-15T01:57:24.018979+00:00 app[web.1]: GET / - - ms - - 2017-05-15T01:57:24.324884+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=widg.herokuapp.com request_id=85abc16a-8ef9-4a07-81d4-1a6bf43a6579 fwd="69.140.81.157" dyno=web.1 connect=1ms service=33ms status=500 bytes=318 protocol=http 

基于我读过的各种线程, 可能已经处理了同样的问题,我试着在sequelize index.js中添加一些额外的Sequelize池设置

 if (config.use_env_variable) { var sequelize = new Sequelize(process.env[config.use_env_variable], { dialect: 'mysql', protocol: 'mysql', pool: { idle: 120000, max: 5, min: 0}, logging: true //false }); } else { var sequelize = new Sequelize(config.database, config.username, config.password, config); } 

我的configuration.json的相关部分很简单:

  "production": { "use_env_variable": "DATABASE_URL" } 

请注意,我确实将CLEARDB_DATABASE_URL分配给了DATABASE_URL,所以这不是问题。 此外,我没有问题,使用我的sequelize迁移文件来设置数据库,所以它显然可以连接。

目前主要的问题是:

  • 是否需要为Sequelize设置一个特定的端口来与CLEARDB环境variables之外的数据库进行通信?

  • 有什么我需要做一个套接字文件的地方?

非常感谢任何帮助或想法的事情尝试。