在特定日期触发云代码功能

时间:2016-07-05 04:19:13

标签: parse-platform

我的服务器与Parse-server和heroku完美配合。

我缺少的一件事是,我希望每天凌晨1点调用我的一个云代码功能。有什么方法可以自动化吗?也许与Parse或其他服务?我只需要每天1次调用该方法。

1 个答案:

答案 0 :(得分:3)

因此,在对Github和npm软件包进行一些研究之后,我找到了这个。

首先为Node安装node-schedule类似cron和非cron的作业调度程序。

您可以使用此命令npm install node-schedule

在服务器中通过Putty安装它

成功安装后,您可以打开main.js文件,其中包含您的Cloud Code并粘贴以下代码

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秒钟(通过替换您的云代码来查看其是否有效),您可以像这样运行完整的代码。

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

试试这个,我等着你的结果!