服务器端和特定于时间的脚本执行

时间:2016-01-03 00:38:23

标签: javascript parse-platform server server-side

我有一个数组中的日期列表(现在我们可以说日期已经排序)。我希望在日期与数组中的日期匹配时执行脚本。我的问题是如何独立完成这项工作。我想让服务器以某种方式充当闹钟,可以在预定的日期和时间运行脚本。如果有人可以帮助我做这项工作的建议,我将不胜感激。

set date >>> if (currentDate == set date) >>> run script for the respective data

请询问您是否需要澄清。

1 个答案:

答案 0 :(得分:1)

使用parse执行此操作的方法是具有date属性的类。在日期数组中为每个日期创建一个对象(不需要对它们进行排序)。

创建一个计划作业,在运行时,查询第一个日期等于当前日期的类。如果找到一个,请在触发警报时执行您想要执行的操作。

所以,像......

Parse.Cloud.job("checkStatus", function(request, status) {
    var today = new Date();
    today.setHours(0, 0, 0, 0);
    var tomorrow = new Date(today);
    tomorrow.setDate(tomorrow.getDate() + 1);

    var query = new Parse.Query("MyAlarmClass");
    query.greaterThanOrEqualTo('theDateAttribute', today);
    query.lessThan('theDateAttribute', tomorrow);
    return query.first().then(function(anAlarm) {
        if (anAlarm) {
            // do whatever should be done on the alarm
        } else {
           // do nothing
        }
    }).then(function() {
        status.success();
    }, function(error) {
        status.error(JSON.stringify(error));
    });
});

安排此操作每天至少运行两次(或者比警报所需的任何分辨率更快)。