Squeak.ru - шаблоны программирования

Приложение Google App Engine Node.js неработоспособно

Я пытаюсь протестировать довольно простое приложение node.js на движке приложений Google. Как показано ниже, все, что он должен сделать, — это прослушать изменения в базе данных Firebase и впоследствии отправить пользователю сообщение GCM:

var Firebase = require("firebase");
var gcm = require('node-gcm');

// Create a reference to the push notification queue
var ref = new Firebase("firebaseDB");

var message = new gcm.Message();

var regTokens = ['A user GCM reg token'];

// Set up the sender with you API key
var sender = new gcm.Sender('GCM sender ID');

message.addData('syncNewData', 'Hello Member!');

ref.on("value", function(snapshot) {

    // Now the sender can be used to send messages
    sender.send(message, { registrationTokens: regTokens }, function (err, response) {
        if(err) console.error(err);
        else    console.log(response);
    });

  console.log(snapshot.val());
}, function (errorObject) {
  console.log("The read failed: " + errorObject.code);
});

Однако каждый раз, когда я пытаюсь выполнить развертывание в движке приложения, процесс проходит гладко до Updating module [default].../, работая в течение нескольких минут, в результате чего появляется ошибка:

ERROR: (gcloud.preview.app.deploy) Error Response: [13] Timed out when starting
VMs.  It's possible that the application code is unhealthy.  (0/2 ready, 2 still
 deploying).

Я довольно новичок в node.js, а также в appengine, но я просто пытаюсь проверить, чтобы все компоненты работали вместе.

Почему эта ошибка существует?


  • Запустил приложение локально... оказалось, что регистр GCM с моего устройства, связанного с моим старым сервером, не был синхронизирован с новым идентификатором сервера GCM, поэтому выдавал ошибки... Просто перерегистрировал свое мобильное устройство и скопировал GCM reg id в приведенный выше код, на локальном все работает нормально. 27.02.2016

Ответы:


1

Это почти всегда означает сбой во время запуска приложения в App Engine. Мы не очень хорошо умеем обнаруживать такие сбои сегодня во время развертывания (работаем над этим). Чтобы увидеть, что происходит:

  1. Перейдите в консоль разработчика.
  2. Нажмите на ведение журнала в облаке

облачное ведение журнала

  1. Найдите crash.log или stderr:

crash.log

Вот где вы обычно найдете проблему. Надеюсь это поможет!

29.02.2016
  • Да, это было проблемой. 29.02.2016
  • Вау, это было очень трудно догадаться. 07.09.2016
  • Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...