我试图通过解析后台作业添加多条记录。我没有收到任何错误,只是在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