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