Я использую фоновое задание для запроса json с тысячами объектов, чтобы изначально заполнить мою базу данных. Я также реализовал функцию beforesave для предотвращения дублирования записей. Однако, как только я это осуществил, кажется, что моя фоновая работа называется response.error и не сохраняет все объекты. Похоже, я могу превышать запросы/сек? Я был бы очень признателен, если бы кто-нибудь мог взглянуть на мой код и сказать мне, почему он не сохраняет все записи успешно.Неудача Работа фона фона при использовании beforesave с тысячами объектов
Вот моя фоновая работа:
Parse.Cloud.job("testing", function(request, response) {
var json;
Parse.Cloud.httpRequest({
url: stringURL + pageNumber.toString(),
success: function(httpResponse) {
json = httpResponse.data;
console.log("total is: " + json["meta"].total);
console.log("object 1 is: " + json["events"][1].title);
return json;
}
//after getting the json, save all 1000
}).then(function() {
//helper function called
saveObjects(json).then(function() {
response.success("success");
},
function(error) {
response.error("nooooo");
});
});
});
function saveObjects(json) {
var promises = [];
for(var i = 0; i < 1000; i++) {
var newEvent = new Event();
promises.push(newEvent.save(new Event(json["events"][i])));
}
return Parse.Promise.when(promises);
}
Вот мой BeforeSave код:
Parse.Cloud.beforeSave("Event", function(request, response) {
var newEvent = request.object;
var Event = Parse.Object.extend("Event");
var query = new Parse.Query("Event");
query.equalTo("title", newEvent.get("title"));
query.equalTo("datetime_utc", newEvent.get("datetime_utc"));
query.equalTo("url", newEvent.get("url"));
query.first({
success: function(temp) {
response.error({errorCode:123,errorMsg:"Event already exist!"});
},
error: function(error) {
response.success();
}
});
});
Спасибо Я очень признателен за любую помощь ... Я застрял на некоторое время.