Мои облачные функции Firebase выдают ошибку SequelizeConnectionError: connect ETIMEDOUT всякий раз, когда я запрашиваю мою базу данных MySql - PullRequest
0 голосов
/ 23 июня 2018

Описание проблемы:

Я использую Sequalize ORM и мои облачные функции Firebase, выдавая SequelizeConnectionError: connect ETIMEDOUT каждый раз, когда я запрашиваю мою БД MySql.Он отлично работает, когда функции запускаются на локальном хосте через Firebase cli.Ниже приведен метод подключения Sequalize.

Фрагмент кода

var sequelize = new Sequelize('dbname, 'username', 'password', {
host: "host",
dialect: 'mysql',
define: {
    paranoid: true
},
pool: {
    max: 5,
    min: 0,
    acquire: 30000,
    idle: 1
},
operatorsAliases: false})

Приведенный выше код прекрасно работает, когда функции выполняются через Firebase CLI локально на порту 5000. Когда яразверните его в Firebase и запустите те же функции, что и ниже.

2018-06-23T11:31:53.887Z E app: Unhandled rejection
2018-06-23T11:31:55.187Z E app: SequelizeConnectionError: connect ETIMEDOUT
    at Utils.Promise.tap.then.catch.err (/user_code/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:149:19)
    at tryCatcher (/user_code/node_modules/sequelize/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/user_code/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/user_code/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/user_code/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/user_code/node_modules/sequelize/node_modules/bluebird/js/release/promise.js:689:18)
    at Async._drainQueue (/user_code/node_modules/sequelize/node_modules/bluebird/js/release/async.js:133:16)
    at Async._drainQueues (/user_code/node_modules/sequelize/node_modules/bluebird/js/release/async.js:143:10)
    at Immediate.Async.drainQueues (/user_code/node_modules/sequelize/node_modules/bluebird/js/release/async.js:17:14
)

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Вам может быть разрешен только пул с максимальным размером 1.

0 голосов
/ 23 июня 2018

Скорее всего, это потому, что ваш проект Firebase находится на бесплатной схеме оплаты Spark.Благодаря Spark ваши облачные функции не могут устанавливать исходящие подключения к службам, которые не полностью контролируются Google.Для исходящих подключений вам необходимо обновить свой проект до одного из тарифных планов, таких как Blaze.

Подробнее на странице цен Firebase.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...