2016-07-05 5 views
3

Ich habe meinen Server perfekt mit Parse-Server und Heroku arbeiten.Trigger-Cloud-Code-Funktion zu einem bestimmten Datum

Eines der Dinge, die ich bin fehlt, ist, dass ich einen meiner Wolke Code-Funktionen wollen, um 1:00 Uhr jeden Tag aufgerufen werden. Kann ich das irgendwie automatisieren? Vielleicht mit Parse oder mit einem anderen Dienst? Ich muss diese Methode nur 1 Mal pro Tag anrufen.

+0

das ist wirklich nette Frage. Ich möchte genau das Gleiche tun und ich frage mich, ob es einen Weg gibt, es zu tun. Freu mich auf die Antwort !!! –

Antwort

2

Also nach einigen Recherchen auf Github und auf npm Pakete Ich habe dieses hier gefunden.

Zuerst installieren node-schedule Ein Cron-like und nicht-cron-Job-Scheduler wie für Knoten.

Sie können es durch Putty installieren in Ihrem Server mit diesem Befehl npm install node-schedule

Nachdem Sie es installiert haben erfolgreich können Sie Ihre main.js Datei öffnen, die Sie Ihre Cloud-Code das und fügen Sie den folgenden Code

var schedule = require('node-schedule'); 
var j = schedule.scheduleJob(' * * * * *', function(){ 
    console.log('This console log will run every 5 minutes'); 
}); 

die Bedeutung der Sterne

* * * * * * 
┬ ┬ ┬ ┬ ┬ ┬ 
│ │ │ │ │ | 
│ │ │ │ │ └ 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) 

So können Sie den vollständigen Code haben wie diese ausgeführt wird, wenn Sie es 5 Sekunden ausgeführt werden soll (t o, wenn seine Arbeits sehen von Ihrem Cloud-Code)

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"); 
    } 
    }); 
}); 
}); 

Nützliche Links ersetzt:

node schedule

versuchen diese und ich warte auf Ihre Ergebnisse!