我有一个 Express 应用程序当前正在 Azure 上运行。它工作得很好,但我的 Express 应用程序有一个连接到流 API 并填充数据库的服务。这项服务需要它自己的流程。通常,当我在本地托管此内容时,我只需键入
node listen
开始流式传输,然后打开另一个窗口并键入
node app.js
启动服务器。
但是在 Azure 上启动 Node 应用程序时如何执行此操作?
最佳答案
我建议将您的导入过程转换为进程内后台作业,这在非集群 Node 应用程序中是微不足道的。您可以通过the cron npm module进行调度或许多可用的类似模块之一。只需将导入例程编码为函数即可。
因此,不要在 listen.js
中让代码只执行顶层,而是将其放入命名函数中并将其导出:
function populateDatabase() {
//connect to streaming API
//populate database
}
module.exports = populateDatabase;
然后在 app.js
中,您可以将其与 setInterval
或您选择的 Node 调度/cron 模块连接起来:
//app.js
var populateDatabase = require("./listen");
setInterval(60 * 1000, populateDatabase);
// rest of app setup/start code
关于node.js - 如何在 Azure 网站上托管的express.js 应用程序上设置后台进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29111949/