2017-04-13 9 views
0

私はMongoDBは、角4経常機能

を実行している第二のサーバに接続されているNodeJS上で実行されているAPIサーバーを持っているNodeJSと角4 に基づいて小さなブラウザゲームを開発してみてくださいバックグラウンドで定期的な標準機能(15分ごとなど)を実行したい

その機能を実行する第3のサーバーが必要ですか?または、開いているルートに関係なく、APIサーバー上で独立してその機能を実行できますか?

+0

あなたは私が意味する –

+0

、15分ごとに特定のAPIを呼び出すDBからデータを取得し、それに何かをして、更新を保存する意味。例:プレイヤーが鉱山を持っている場合は15分すべてをチェックしてから、自分のリソースを1 – snibbo

答えて

0

あなただけのブラウザのようにノードにsetTimeout()setInterval()を使用することができます。

setInterval(() => { 
    // this runs every 15 minutes 
}, 15 * 60 * 1000); 
+0

まで増やしてください。 APIが「/何であれ」になっているときは、関数について心配しています。それはまだ働いていますか? – snibbo

1

あなたはこのライブラリnode-cronの外観を持っている場合があります。あなたはあなたのサービスで動作するように設定することができます。サーバーが初期化された直後にジョブを初期化する必要があります。例:

var CronJob = require('cron').CronJob; 
var job = new CronJob({ 
    cronTime: '00 30 11 * * 1-5', 
    onTick: function() { 
    /* 
    * Runs every weekday (Monday through Friday) 
    * at 11:30:00 AM. It does not run on Saturday 
    * or Sunday. 
    */ 
    }, 
    start: false, 
    timeZone: 'America/Los_Angeles' 
}); 
job.start(); 
+0

ありがとうございました。コードの配置場所を教えてください。私はsetIntervalと一緒に行くが、CronJobも良いツールのように見える。 – snibbo

関連する問題