为什么我写给MongoDB Atlas的Azure函数的启动时间超过70秒?

时间:2018-11-21 21:45:15

标签: node.js mongoose azure-functions mongodb-atlas

我想知道我的功能是否存在一般性问题,从而导致启动时间过长。猫鼬已作为依赖项安装,这可能会增加时间。但是70多岁?!?来...

这是我的代码。真的很简单。只是想向MongoDB写一些东西。感谢您的反馈。

module.exports = function(context, req) {
  context.log("Function started!");

  // Database interaction.
  const mongoose = require('mongoose');
  const DATABASE = process.env.MongodbAtlas;

  // Connect to our Database and handle any bad connections
  mongoose.connect(DATABASE);
  mongoose.Promise = global.Promise; // Tell Mongoose to use ES6 promises
  mongoose.connection.on('error', (err) => {
    context.log(`ERROR→ ${err.message}`);
  });

  // Portfolio Schema.
  require('./portfolioModel');
  const Portfolio = mongoose.model('Portfolio');

  //Create a Portfolio object.
  var portfolio = new Portfolio();
  portfolio.fiat = "EUR";
  portfolio.token[0] = {
    crypto_ticker: "BTC",
    crypto_name: "Bitcoin",
    crypto_qty: 50,
    crypto_invested_sum: 9000
  };

  // Save to db.
  portfolio.save();
  context.done();

};

1 个答案:

答案 0 :(得分:0)

使用Azure Functions extension for VS Code后,冷启动时间减少到3秒左右。该扩展程序会自动创建一个打包文件,并设置WEBSITE_RUN_FROM_PACKAGE = 1(some in-depth infos regarding packaging)。

现在“功能即服务”变得更加有趣了。