使用NodeJS作为服务器端平台来处理任务

时间:2014-06-19 00:24:33

标签: javascript node.js express web-scraping server-side

背景知识:我正在研究在一个涉及抓取内容并将其存储在Mongo中的项目中使用NodeJS。应按照计划自动运行此活动。

其他功能包括获取数据库中的项目(Mongo),将它们组合到Wordpress帖子中,然后使用XML导入功能导入。

我正在使用Express来“构建”这个迷你应用程序,因为我(/是)打算随着时间的推移添加更多功能,并且不希望最终陷入混乱。

现在的问题是:在编写不需要HTTP服务器的NodeJS应用程序时,我有什么选择?通过SSH进行预定的和可能的终端输入?

1 个答案:

答案 0 :(得分:1)

如果您不想将Web服务器用作应用程序的一部分,那么您不必这样做。只需要一个http服务器来监听请求,就像你发出http请求一样。

在你的app.js中你可以使用setInterval函数设置一个预定的函数调用,并将你的魔法放在那里。

var scheduleTimer = setInterval(function () {
        console.log('Working...'); //do your stuff
}, 60000);

您可以设置几个与上面类似的功能,一个用于抓取,一个用于更新博客,每个功能都可以将其分解为更新mongo数据存储的任务。

因此,一个进程可以按计划通过抓取列表,并更新mongo。

另一项任务可以处理该信息(按照自己的时间),并根据不同的时间表更新您的网站,如果发现任何事情。

建议使用'forever'来确保整个事情继续运行。