2017-09-20 94 views
0

具有10000个数据的表并使用查询(jql)从表中获取特定的数据。提取的计数是正确的,它是673,但打开那些数据时它只发送100个数据。 这是我的代码:JS parase数据从近8000个表中发送JSON格式的100个数据

request({ 
///////////////////////////////////// 
//query to get current open tickets// 
///////////////////////////////////// 
url: '/rest/api/2/search?jql=project=OWRT AND status in (Open, "In Progress", Reopened)&startAt=0&maxResults=-1', 
success: function(response) { 
    var owrt = $.parseJSON(response); 
    var liktot = parsedata(response,'owrt'); 
console.log("OWRT max"+owrt.maxResults); 
    request({ 
    //////////////////////////////////////////////////// 
    //query to get current resolved and closed tickets// 
    //////////////////////////////////////////////////// 
    url: '/rest/api/2/search?jql=project=OWRT AND status not in (Open, "In Progress", Reopened)', 
    success: function(response1) { 
    var fixowrt = $.parseJSON(response1); 
    var owrt_tot=owrt.total; 
    request({ 
    ////////////////////////////////////////// 
    //query to get year 2016 created tickets// 
    ////////////////////////////////////////// 
    url: '/rest/api/2/search?jql=project = OWRT AND created >= 2016-01-01 AND created <= 2016-12-31', 
    success: function(response2) { 
     var cowrt = $.parseJSON(response2); 
     request({ 
     ////////////////////////////////////////// 
     //query to get year 2017 created tickets// 
     ////////////////////////////////////////// 
     url: '/rest/api/2/search?jql=project = OWRT AND created >= 2017-01-01 AND created <= 2017-12-31&maxResults=-1', 
     success: function(response3) { 
    var cfixowrt = $.parseJSON(response3); 
     var owrtcre17 = parsedata(response3,'owrt2017'); 
     var cowrt_tot=cowrt.total; 
     request({ 
    ///////////////////////////////////////// 
    //query to get year 2016 closed tickets// 
    ///////////////////////////////////////// 
     url: '/rest/api/2/search?jql=project = OWRT AND status = Closed AND updated >= 2016-01-01 AND updated <= 2016-12-31', 
    success: function(response4) { 
      var fowrt = $.parseJSON(response4); 
      request({ 
     ///////////////////////////////////////// 
     //query to get year 2017 closed tickets// 
     ///////////////////////////////////////// 
      url: '/rest/api/2/search?jql=project = OWRT AND status = Closed AND updated >= 2017-01-01 AND updated <= 2017-12-31', 
     success: function(response5) { 
     var ffixowrt = $.parseJSON(response5); 
      var fowrt_tot=fowrt.total; 
      request({ 
     //////////////////////////////////////////// 
     //query to get all tickets in this project// 
     //////////////////////////////////////////// 
      url: '/rest/api/2/search?jql=project=OWRT', 
     success: function(response6) { 
       console.log("start1:"+reqcount); 
      var fullowrt = $.parseJSON(response6); 
      var fullowrt_tot = fullowrt.total 
       var obj = {}; 
      obj['key']='OWRT'; 
      obj['tot']=owrt_tot; 
      obj['totlink']=liktot[0]; 
      obj['ntotlink']=liktot[1]; 
      obj['fixntotlink']=fixowrt.total; 
      obj['ckey']='OWRT'; 
      obj['ctot']=cowrt_tot; 
      obj['cre17totlink']=owrtcre17[0]; 
      obj['cre17ntotlink']=owrtcre17[1]; 
      obj['cfixntotlink']=cfixowrt.total; 
      obj['fkey']='OWRT'; 
      obj['ftot']=fowrt_tot; 
      obj['ffixntotlink']=ffixowrt.total; 
      obj['fulltot']=fullowrt.total; 
      summary.push(obj); 
      reqcount=reqcount+1; 
     requestexe(); 
      }, 
      error: function(response) { 
      console.log("Error loading API (" + uri + ")"); 
      console.log(arguments); 
      }, 
      data: {"fields":["key"]}, 
      contentType: "application/json" 
      }); 
      requestexe(); 
      }, 
      error: function(response) { 
      console.log("Error loading API (" + uri + ")"); 
      console.log(arguments); 
      }, 
      data: {"fields":["key"]}, 
      contentType: "application/json" 
      }); 
     requestexe(); 
     }, 
     error: function(response) { 
     console.log("Error loading API (" + uri + ")"); 
     console.log(arguments); 
     }, 
     data: {"fields":["key"]}, 
     contentType: "application/json" 
     }); 
     requestexe(); 
     }, 
     error: function(response) { 
     console.log("Error loading API (" + uri + ")"); 
     console.log(arguments); 
     }, 
     data: {"fields":["key","id","status","project","issuetype","issuelinks", "summary", "assignee", "type",'created']}, 
     contentType: "application/json" 
     }); 
    requestexe(); 
    }, 
    error: function(response) { 
    console.log("Error loading API (" + uri + ")"); 
    console.log(arguments); 
    }, 
    data: {"fields":["key"]}, 
    contentType: "application/json" 
    }); 
    requestexe(); 
    }, 
    error: function(response) { 
    console.log("Error loading API (" + uri + ")"); 
    console.log(arguments); 
    }, 
    data: {"fields":["key"]}, 
    contentType: "application/json" 
    }); 
requestexe(); 
}, 
error: function(response) { 
console.log("Error loading API (" + uri + ")"); 
console.log(arguments); 
}, 
data: {"fields":["key","id","status","project","issuetype","issuelinks", "summary", "assignee", "type",'created']}, 
contentType: "application/json" 
}); 

当看该查询的总数,这是“owrt_tot”正在发送正确的,但来自其仅发送100,其是fectching数据时包括“liktot [0]” +“ liktot 1“。 the final outcome of data

但总数是673,但数据从上面的代码发送仅100这个总数是高达1000之后几天继续运行代码之前领我到100所以有什么,内存是一个问题还是需要更改代码?

+0

嵌套你的请求不仅是非常容易出错,但它看起来很糟糕。我认为你先分开你的请求,然后检查你的结果。也许你的错误解决了。否则,请随时发布重构版本。检查此https://stackoverflow.com/questions/12101687/nested-requests-are-blocking?answertab=votes#tab-top – Akaino

回答

0

这是JIRA atlassian api的问题。验证与atlassian支持,他们有目的地限制