我試圖通過解析後臺作業添加多條記錄。我沒有收到任何錯誤,只是在21條記錄後停止保存記錄。這裏是我的代碼:解析後臺作業21條記錄後添加多條記錄
var _ = require('underscore');
Parse.Cloud.job('usagovJobsRunner', function (request, status) {
var promises = [];
for (var index = 0; index < 2; index++) {
promises.push(Parse.Cloud.httpRequest({
url: 'http://jobs.github.com/positions.json',
followRedirects: true,
params: {
page: index
}
}));
}
var jobs = [];
Parse.Promise.when(promises).then(function() {
console.log('arguments length: ' + arguments.length);
_.each(arguments, function (page) {
console.log('page lenght: ' + page.data.length);
_.each(page.data, function (job) {
var model = new (Parse.Object.extend('Jobs'));
model.set({
jobId: job.id,
title: job.title,
description: job.description,
location: job.location,
jobPosting: new Date(job.created_at),
type: job.type,
company: job.company,
companyUrl: job.company_url,
companyLogoUrl: job.company_logo,
source: 'Github Jobs',
jobUrl: job.url
});
jobs.push(model)
});
});
console.log('jobs count: ' + jobs.length);
Parse.Cloud.useMasterKey();
// save all the newly created objects
Parse.Object.saveAll(jobs, {
success: function (objs) {
// objects have been saved...
console.log('jobs saved.');
status.success('Github Jobs runner successfully loaded ' + objs.length + ' jobs');
},
error: function (error) {
// an error occurred...
console.log(error);
status.error('Error: ' + error);
}
});
status.success();
}, function (err) {
console.log(err);
status.error(err);
});
});
這裏是我的日誌:
I2015-08-28T10:50:31.327Z]參數長度:2 I2015-08-28T10:50:31.328Z]頁工作數量:100 I2015-08-28T10:50:31.442Z] v15:冉:50 50 50 50 50 jobs jobs jobs jobs jobs jobs jobs jobs jobs jobs jobs jobs jobs jobs v v v v v v v v v job usagovJobsRunner with:輸入: {}結果:undefined
不要混淆承諾與傳統的回調,選擇一種風格並堅持下去。只有當一切都完成時調用'status.success();'。 – Wain
@Wain removed last status.success();工作。我還有一個問題,我不知道githhub的最大頁數是否對此有任何建議。 – Attiqe