背景知识:我正在研究在一个涉及抓取内容并将其存储在Mongo中的项目中使用NodeJS。应按照计划自动运行此活动。
其他功能包括获取数据库中的项目(Mongo),将它们组合到Wordpress帖子中,然后使用XML导入功能导入。
我正在使用Express来“构建”这个迷你应用程序,因为我(/是)打算随着时间的推移添加更多功能,并且不希望最终陷入混乱。
现在的问题是:在编写不需要HTTP服务器的NodeJS应用程序时,我有什么选择?通过SSH进行预定的和可能的终端输入?
答案 0 :(得分:1)
如果您不想将Web服务器用作应用程序的一部分,那么您不必这样做。只需要一个http服务器来监听请求,就像你发出http请求一样。
在你的app.js中你可以使用setInterval函数设置一个预定的函数调用,并将你的魔法放在那里。
var scheduleTimer = setInterval(function () {
console.log('Working...'); //do your stuff
}, 60000);
您可以设置几个与上面类似的功能,一个用于抓取,一个用于更新博客,每个功能都可以将其分解为更新mongo数据存储的任务。
因此,一个进程可以按计划通过抓取列表,并更新mongo。
另一项任务可以处理该信息(按照自己的时间),并根据不同的时间表更新您的网站,如果发现任何事情。
建议使用'forever'来确保整个事情继续运行。