0

Parse-Server v2.2.12を実行していて、巨大なデータセット(〜13kレコード)を取得して処理してから、各レコードを私のパースDB内のテーブル。私のサーバーはすべての保存要求を受け入れることができないようです。メッセージのあるcode 100エラー:XMLHttpRequest failed: "Unable to connect to the Parse API"保存要求の約60%。Parse-Server XMLHttpRequestが大きなデータセットで保存に失敗しました

私のコードは次のようなものになります。

makeHttpRequest('GET', endpoint).then((httpResponse) => { 

    const dataArray = httpResponse.body.array; 
    const Class = Parse.Object.extend('className'); 

    const savePromises = _.map(dataArray, (jsonObject) => { 

     const object = new Class(); 
     object.set(IdKey, "" + jsonObject.id); 
     object.set(nameKey, jsonObject.name); 
     return object.save(null, {useMasterKey: true}); 
    }); 

    return Parse.Promise.when(savePromises); 
}); 

私は三分の(〜4.5 KB以下レコード)にアップ配列を破壊しようとしたと順次promise.thenを使用して節約の各セットを実行するが、私はまだ取得しています:

{ 
    "code": 100, 
    "message": "XMLHttpRequest failed: \"Unable to connect to the Parse API\"" 
} 

更新:HTTPS対応である当社の生産サーバーにこのジョブを移行した後、私は少し異なるエラーメッセージとのより多くの完全な節約を得ます。私は、プロダクションサーバーの追加容量のために、より多くのセーブが完了したと考えています。新しいエラーは次のようになります。

{ 
    "code": 100, 
    "message": "XMLHttpRequest failed: {\"UNSENT\":0,\"OPENED\":1,\"HEADERS_RECEIVED\":2,\"LOADING\":3,\"DONE\":4,\"readyState\":4,\"responseText\":\"\",\"responseXML\":\"\",\"status\":504,\"statusText\":null,\"withCredentials\":false}" 
} 

答えて

0

Parse.Object.saveAll(objects)を使用して解決しました。今私は1つの13kのレコードをすべて救っても問題はありません。コードは次のようになります。

makeHttpRequest('GET', endpoint).then((httpResponse) => { 

    const dataArray = httpResponse.body.array; 
    const Class = Parse.Object.extend('className'); 

    const allObjects = _.map(dataArray, (jsonObject) => { 

     const object = new Class(); 
     object.set(IdKey, "" + jsonObject.id); 
     object.set(nameKey, jsonObject.name); 
     return object; 
    }); 

    return Parse.Object.saveAll(allObjects, {useMasterKey: true}); 
}); 

すべてが正常に動作しているようです。

関連する問題