2016-07-05 2 views
3

私のサーバーはParse-serverとherokuで完全に動作しています。特定の日付にクラウドコード機能をトリガーする

私が見逃していることの1つは、毎日午前1時にクラウドコード関数の1つを呼び出すことです。これを自動化する方法はありますか?おそらくParseや別のサービスで?私はその方法を1日1回呼び出す必要があります。

+0

本当にいい質問です。私は同じことをしたいと思うし、それを行う方法があるのだろうかと思う。答えを楽しみにしています! –

答えて

2

Githubとnpmパッケージに関するいくつかの調査の後、私はこれを見つけました。

最初にインストールしますnode-scheduleノード用のcron-likeでcron-likeジョブスケジューラ。あなたが成功し、それをインストールした後は、このコマンドnpm install node-schedule

を使ってサーバーにパテを通してそれをインストールすることができます

あなたのmain.jsがあなたのクラウドコードを持っていることをファイルを開き、次のコード

var schedule = require('node-schedule'); 
var j = schedule.scheduleJob(' * * * * *', function(){ 
    console.log('This console log will run every 5 minutes'); 
}); 
を貼り付けることができます

* * * * * * 
┬ ┬ ┬ ┬ ┬ ┬ 
│ │ │ │ │ | 
│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun) 
│ │ │ │ └───── month (1 - 12) 
│ │ │ └────────── day of month (1 - 31) 
│ │ └─────────────── hour (0 - 23) 
│ └──────────────────── minute (0 - 59) 
└───────────────────────── second (0 - 59, OPTIONAL) 

星の意味あなたはそれが5秒(トンを実行したいのであれば、あなたはこのように実行している完全なコードを持つことができますO

var schedule = require('node-schedule'); 

var j = schedule.scheduleJob('*/5 * * * *', function(){ 
    Parse.Cloud.define("averageStars", function(request, response) { 
    var query = new Parse.Query("Review"); 
    query.equalTo("movie", request.params.movie); 
    query.find({ 
    success: function(results) { 
     var sum = 0; 
     for (var i = 0; i < results.length; ++i) { 
     sum += results[i].get("stars"); 
     } 
     response.success(sum/results.length); 
    }, 
    error: function() { 
     response.error("movie lookup failed"); 
    } 
    }); 
}); 
}); 

役立ちリンク)クラウドコードを置き換えることによって、その作業かどうかを確認:

node schedule

はこの1つを試してみて、私はあなたの結果を待っています!

関連する問題