0
자세한 내용은 here으로 lbapi의 제한으로 인해 lbapi에 대한 쿼리의 크기가 크게 증가했습니다 (LBAPI에 작업 항목을 반환하는 "가시적 인"프로젝트 배열을 전달 중입니다. 내가 볼 수있는 프로젝트) "요청 엔티티가 너무 크다"라는 오류가 발생합니다.랠리 요청 엔티티가 너무 큼
시간이 지나면 일부 보이는 프로젝트 만 사용하여 쿼리를 분해해야한다는 것을 알고 있습니다. 나는 이것을 프로그램 적으로하고 싶었습니다 - 보이는 모든 100 개의 프로젝트에 대해 쿼리를 수행하고 돌아온 레코드를 가져 와서 배열로 던지려고했습니다.
그러나 이것은 계속할 때를 결정하려고 할 때 좀 번거롭게됩니다. 모든 쿼리를 다시 가져 와서 합계 배열을 채 웁니까? 누구나 이런 일이 일어날 수있는 깨끗한 방법을 생각할 수 있습니까?
for (var i = 0; i < Math.ceil(App.visibleTeams.length/100); i++) {
console.log('i',i);
var tempProj = [];
for (var j = i * 100; j < Math.min((i + 1) * 100, App.visibleTeams.length); j++) {
tempProj.push(App.visibleTeams[j]);
}
console.log('tempProj.length',tempProj.length);
// query
App.completeRecords = [];
Ext.create('Rally.data.lookback.SnapshotStore', {
pageSize : 10000,
fetch : ['Parent','Name','_UnformattedID','PortfolioItemType','PercentDoneByStoryPlanEstimate','ObjectID','PlannedStartDate','PlannedEndDate','ActualStartDate','ActualEndDate','LeafStoryPlanEstimateTotal'],
filters : [{
property : '__At',
value : 'current'
},{
property : '_TypeHierarchy',
value : 'PortfolioItem'
},{
property : '_ItemHierarchy',
operator : 'in',
value : node.ObjectID
},{
property : 'Project',
operator : 'in',
value : tempProj
},{
property : 'LeafStoryPlanEstimateTotal',
operator : '>',
value : 0
}]
}).load({
callback: function(records, operation, success) {
if (!success) {
Ext.getBody().unmask();
Ext.Msg.alert('Error ' + operation.error.status + ': ' + operation.error.statusText, operation.error.errors[0]);
} else {
App.completeRecords.push.apply(App.completeRecords, records);
// if done, callback(), else, do nothing
}
}
});
}
이 솔루션은 잘 작동하지 않습니다. 봐 주셔서 감사합니다! –