2015-11-26 26 views
3

我正在使用雲代碼更新所有用戶,每天。它曾經工作,但現在在5分鐘處理後出現錯誤。 「該服務目前無法使用」,沒有任何理由。我檢查了status.parse.com,並沒有相關的信息。我有10 000個用戶。Parse.com後臺作業失敗,服務當前不可用

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(); 
}) 

你能幫幫我嗎?謝謝。

回答

0

你可能要嘗試從修改的最後一行:

回報user.save();

使用回調保存功能,以確保他們在放順序:

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

另一種方法是用白水功能是這樣的:

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

而且,您是使用託管的Parse.com環境還是轉換到另一個提供商,如Heroku & mLab?

作爲具有同樣問題的同伴解析用戶(後臺作業在執行多次插入時出現此錯誤時失敗),我期待您的任何評論。

相關問題