我有一个数组中的日期列表(现在我们可以说日期已经排序)。我希望在日期与数组中的日期匹配时执行脚本。我的问题是如何独立完成这项工作。我想让服务器以某种方式充当闹钟,可以在预定的日期和时间运行脚本。如果有人可以帮助我做这项工作的建议,我将不胜感激。
set date >>> if (currentDate == set date) >>> run script for the respective data
请询问您是否需要澄清。
答案 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));
});
});
安排此操作每天至少运行两次(或者比警报所需的任何分辨率更快)。