#node.js #google-app-engine #sails.js
#node.js #google-app-engine #sails.js
Вопрос:
У меня есть новый Sails.js приложение, которое я пытаюсь развернуть в Google App Engine. Когда я просто развернул фреймворк (ванильный Sails.js приложение, созданное с помощью CLI sails new web-service
), оно работает просто отлично. Развертывание произошло быстро, и я могу получить доступ к приложению, посетив URL-адрес.
Я настроил ORM at /config/connections.js
для подключения к базе данных mLab MongoDB. После этого изменения приложение отлично работает на моем локальном компьютере, но когда я развертываю его в Google App Engine с помощью терминала, я получаю следующую ошибку консоли:
Updating service [default]...failed.
ERROR: (gcloud.app.deploy) Error Response: [13] Timed out when starting VMs. (1/2 ready, 1 still deploying).
npm ERR! Darwin 15.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "deploy"
npm ERR! node v5.11.0
npm ERR! npm v2.14.5
npm ERR! code ELIFECYCLE
npm ERR! web-service@0.0.0 deploy: `gcloud app deploy --project web-service-staging`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the web-service@0.0.0 deploy script 'gcloud app deploy --project web-service-staging'.
npm ERR! This is most likely a problem with the web-service package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! gcloud app deploy --project web-service-staging
npm ERR! You can get their info via:
npm ERR! npm owner ls web-service
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/Nag/Code/web-service/npm-debug.log
Вот результат npm-debug.log
:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'run', 'deploy' ]
2 info using npm@2.14.5
3 info using node@v5.11.0
4 verbose run-script [ 'predeploy', 'deploy', 'postdeploy' ]
5 info predeploy web-service@0.0.0
6 info deploy web-service@0.0.0
7 verbose unsafe-perm in lifecycle true
8 info web-service@0.0.0 Failed to exec deploy script
9 verbose stack Error: web-service@0.0.0 deploy: `gcloud app deploy --project web-service-staging`
9 verbose stack Exit status 1
9 verbose stack at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:214:16)
9 verbose stack at emitTwo (events.js:100:13)
9 verbose stack at EventEmitter.emit (events.js:185:7)
9 verbose stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14)
9 verbose stack at emitTwo (events.js:100:13)
9 verbose stack at ChildProcess.emit (events.js:185:7)
9 verbose stack at maybeClose (internal/child_process.js:850:16)
9 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5)
10 verbose pkgid web-service@0.0.0
11 verbose cwd /Users/Nag/Code/web-service
12 error Darwin 15.5.0
13 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "deploy"
14 error node v5.11.0
15 error npm v2.14.5
16 error code ELIFECYCLE
17 error web-service@0.0.0 deploy: `gcloud app deploy --project web-service-staging`
17 error Exit status 1
18 error Failed at the web-service@0.0.0 deploy script 'gcloud app deploy --project web-service-staging'.
18 error This is most likely a problem with the web-service package,
18 error not with npm itself.
18 error Tell the author that this fails on your system:
18 error gcloud app deploy --project web-service-staging
18 error You can get their info via:
18 error npm owner ls web-service
18 error There is likely additional logging output above.
19 verbose exit [ 1, true ]
У него проблемы с запуском, потому что он не может подключиться к базе данных mLab? Если да, то почему это так? Отлично работает на моем локальном компьютере. Поможет ли увеличение времени ожидания? Если да, то как мне это сделать?
Ответ №1:
Хорошо, мне удалось решить эту проблему, изменив ORM hookTimeout
.
В /config/env/development.js
и /config/env/production.js
я добавил следующее:
module.exports = {
// Extends the ORM timeout to connect to the database
hookTimeout: 240000
};