我是Parse.com云工作的新手,我有一个错误。
我需要制作一个云计算工作来计算数据库中所有已注册游戏的统计数据(~500K)。
我的脚本初稿是:
Parse.Cloud.job("dostats", function(request, status) {
Parse.Cloud.useMasterKey();
var max_score_query = new Parse.Query("ScoreData");
max_score_query.descending('score');
max_score_query.first(
{
success: function(result) {
var stat_size = 40;
var count = 0;
var stats = new Array(stat_size);
for ( i = 0; i < stat_size; ++i) { stats[i] = 0; }
var max_score = result.get('score');
var promise = Parse.Promise.as();
promise = promise.then( function() {
var stats_query = new Parse.Query("ScoreData");
return stats_query.each( function(line) {
var score = line.get('score');
var id = parseInt((stat_size - 1) * ( score / max_score));
stats[id] = stats[id] + 1;
count = count + 1;
}).then( function() { status.success("lol"); },
function(error) { status.error("error"); });
});
return promise;
},
error: function() {
status.error("Unable to get max score");
}
});
});
});
如果console.log(stats.toString())
循环数据中的each
是正确的。
但是这个消息的作业失败了:
E2015-02-10T11:16:54.296Z] v137: Ran job dostats with:
Input: {}
Failed with: undefined
知道我做错了吗?