Назад | Перейти на главную страницу

Облачный код сервера синтаксического анализа внезапно дает сбой без регистрации

У меня есть функция облачного кода, которая работала несколько недель, а вчера начала давать сбой. Это приводит к выключению всего сервера синтаксического анализа и не ведет журналов, что очень затрудняет отладку. Я попытался вызвать Stripe API напрямую с помощью node и моей строки идентификатора клиента, жестко закодированной, и он работал нормально. Есть идеи, почему это случайно перестает работать в Parse?

Вот моя облачная функция, все, что она делает, это получает идентификатор полосы активных пользователей и извлекает их объект клиента (идентификатор клиента извлекается и успешно регистрируется):

var stripe = require('stripe')(STRIPE_KEY);

var winston = require('winston');
var logger = new (winston.Logger)({
  transports: [
    new (winston.transports.File)({ 
      filename: 'logs/parsecloud.log',
      handleExceptions: true,
      humanReadableUnhandledException: true
    })
  ]
});

Parse.Cloud.define('customer', function(req, res) {
  if (!req.user) {
    logger.error('/customer no user session');
    res.error("No user session");
    return;
  }

  var stripeId = req.user.get('stripeId');
  logger.info('getting stripe customer for', stripeId);

  stripe.customers.retrieve(stripeId).then(
    function(customer) {
      logger.info('got customer for ', stripeId);
      res.success(customer);
    },
    function(err) {
      logger.error('customer error', stripeId, err);
      res.error(err);
    }
  );
});

Я исправил это, переустановив сервер синтаксического анализа с помощью npm. Я использовал старую версию сервера синтаксического анализа, и каждые несколько месяцев он просто случайно переставал работать, и единственный способ исправить это - удалить и переустановить. Возможно, там был какой-то кеш или что-то, что со временем стало слишком большим и в конечном итоге вызвало эту проблему.