2017-08-19 4 views
0

CheerioのWebページから情報を取得するファイルがありますが、新しいデータがある場合は再起動するように1日のようにsetTimeoutのようなものを指定してください。私はsetTimeoutとしてはいけないと思います。なぜなら、15-20ファイルのボットを持っているので、スレッドを使うべきですが、どうやってサービスのように使うのでしょうか。Node.js Cheerioのロボット

答えて

1

実際には、15〜20は私にとってはsetTimeoutを使用しても問題ありません。

https://www.npmjs.com/package/node-scheduleのようないくつかのcronツールを確認し、必要に応じてクローラをスケジュールして、より効率的になるようにスケジューリングすることを検討したいと考えました。

+0

あなたの素早い返信をありがとうございます。私はチェックします – gnncrdm

+0

私はこのボットを実行しています。サーバでファイルを実行し続けるために別のものを使用する必要がありますか?私のサーバをログアウトしたときに、このファイルのようなサービスやsometingを停止することができるので、私はサーバをログアウトするときに停止することができます – gnncrdm

+0

それについて、pm2が役に立ちます –

1

ノードにはcronを使用することをお勧めします。これはcronの実装であり、使用するのはとても簡単です。これにより、必要なときに実行されるタスクをスケジュールすることができます。また、setTimeoutを使用してサーバーをオーバーロードせずにタスクをスケジュールすることもできますが、多くのことがないと言うことから、あまり影響を与えません。

+0

私はそれをお知らせしてくれてありがとうを確認します – gnncrdm

+0

今私はうまく動作しますが、私はボットをサーバlinux)次にノードmybot.jsで始まる、サーバーを出るたびに閉じられないのでしょうか?サービスなどが必要ですか? – gnncrdm

+0

Nodeを[screen](https:// help)で実行する必要があります.ubuntu.com/community/Screen)、ベストプラクティスと最善の方法は[pm2](http: //pm2.keymetrics.io/)は、サーバー上で動作し、ノードプロセスを監視し、実行し続けるサービスです。 – y0hami

関連する問題