Parse.com后台作业失败,该服务目前无法使用

时间:2015-11-26 07:37:46

标签: parse-platform cloud-code

我每天都在使用Cloud Code来更新所有用户。它曾经工作,但现在处理5分钟后出现错误。 "该服务目前无法使用"没有任何理由。我已经检查过status.parse.com并且没有相关信息。我有10 000名用户。

Parse.Cloud.job("makeUsersPassiveAndSendPushes", function(request, status) {

Parse.Cloud.useMasterKey();

var activeUsers = [];
var limitDoneUsers = [];
var nowDate=new Date();
var updatedUsers = [];

var query = new Parse.Query(Parse.User);
query.equalTo("passive",false);
query.each(function(user) {

  if(user.get("passive") === false){
    activeUsers.push(user);
    user.set("passive", true);
    user.set("passiveDate",nowDate);
  }

  if(user.get("isLimitDone")){
    limitDoneUsers.push(user);
  }

  user.set("isLimitDone",false);
  user.set("activeMatch",null);
  user.set("canGetMatch",true);
  user.set("dailyMatchEndCount",0);
  //user.set("lastMatchLimit",false);
  user.set("todaysMatches",[]);

  updatedUsers.push(user);

  return user.save();
})
你可以帮帮我吗?感谢。

1 个答案:

答案 0 :(得分:0)

您可能想尝试修改以下的最后一行:

  

return user.save();

使用保存功能的回调,以确保它们按顺序触发:

return user.save(null, {
                success: function (user) {
                    return user;
                },
                error: function (error) {
                    return Parse.Promise.error(new Error("error"));
                }
            });

另一种选择是使用saveAll函数,如下所示:

return Parse.Object.saveAll(updatedUsers).then(function() {
                    //code that fires after all objects are saved
                });

此外,您使用托管的Parse.com环境还是已转换到Heroku& amp; MLAB?

作为具有同样问题的Parse用户(执行多次插入时后台作业因此错误而失败),我期待您的任何评论。