2017-08-19 43 views
0

我有一些.js文件从Cheerio的网页上获取信息,但我想要做的就是给他们一种setTimeout,比如1天的时间段,以便在有新数据时自动重启。我想我不应该用setTimeout,因为我将有15-20个文件机器人获取数据,我应该使用线程,但我将如何使用它们,如服务。有Cheerio的Node.js机器人

回答

1

其实,15-20对我来说听起来很好用setTimeout

我想你可能想检查一些cron工具,如:https://www.npmjs.com/package/node-schedule,然后根据需要安排抓取工具重新扫描目标,因为这样做效率更高。

+0

感谢您的快速回复我会检查 – gnncrdm

+0

我正在尝试这个whatabout运行我的机器人,我需要使用别的东西来继续在服务器上运行我的文件。因为没有服务或像这样的文件可以在我退出服务器时在服务器上停止 – gnncrdm

+0

关于这一点,pm2可能会有所帮助 –

1

我建议使用cron作为节点,它是cron的一个实现,使用起来非常简单。这将允许您安排任务在您想要时运行。它还可以让你用setTimeout来安排你的服务器超负荷工作,但是从你所说的你不会有很多,所以它不会产生太多的影响。

+0

我会检查它感谢您通知 – gnncrdm

+0

现在我实现了cron,它运行良好,但是想知道如果我把bot放在服务器上(远程linux),然后从node mybot.js开始,当我离开服务器时它不会被关闭吗?我需要服务还是类似的东西 – gnncrdm

+0

您需要在[屏幕](https:// help .ubuntu.com/community/Screen)但最佳做法和最佳方法是使用[pm2](http: //pm2.keymetrics.io/),它是一个在您的服务器上运行并监视并保持您的Node进程正在运行的服务。 – y0hami