0

有没有人经历过使用 graphQL 的缓慢响应?

这是我在解析器中的代码:

getActiveCaseWithActiveProcess(){
    console.log ("getActiveCaseWithActiveProcess");

    var result = [];
    var activeElements = ActiveElements.find({
        type:"signal",
        $or:[
         {signalRef:"start-process"},
         {signalRef:"start-task"},
         {signalRef:"close-case"}
        ]
    },{limit:200}).fetch();

    for (var AE of activeElements){

      var checkAECount = ActiveElements.find({caseId:AE['caseId']}).count();
      if (checkAECount <= 3){
        console.log ('caseId: ' +  AE['caseId']);
        var checkExistInResult = result.filter(function (obj) {
            return obj.caseId === AE['caseId'];
        })[0];

        if (checkExistInResult == null){
          result.push({
            caseId: AE['caseId'],
            caseStart: AE['createdDate']
          });
        }
      }
    }
    console.log("loaded successfully");
    return result;
}

实际上,我的收藏中有大量数据。大约20000条记录。但是当我加载这个时,响应太慢了,它可以重复自己重新加载,这使得响应更长。

I20160812-04:07:25.968(0)? caseId: CASE-0000000284, 
I20160812-04:07:26.890(0)? caseId: CASE-0000000285
I20160812-04:07:28.200(0)? caseId: CASE-0000000285
I20160812-04:07:28.214(0)? getActiveCaseWithActiveProcess
I20160812-04:07:28.219(0)? caseId: CASE-0000000194
I20160812-04:07:29.261(0)? caseId: CASE-0000000197

正如您从我上面的附件中注意到的那样,此时(20160812-04:07:28.214)服务器重复从头开始加载,这就是为什么响应需要更长的时间。

这并不总是发生。当服务器加载缓慢时会发生这种情况。当服务器快速加载时。一切都很顺利。

4

1 回答 1

1

这里没有足够的信息来回答这个问题,但我的猜测是它与 GraphQL 无关。我认为您的客户只是取消了请求并提出了另一个请求,因为第一个请求超时。您可以通过在将请求传递给 GraphQL 之前将请求记录到您的服务器来了解是否发生这种情况。

于 2016-08-12T04:46:20.943 回答