2016-08-12 7 views
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) сервер повторяющей для загрузки с начала снова, и именно поэтому реакция будет длиться дольше.

Это не всегда происходит. Это происходит, когда сервер загружается медленно. Когда сервер загружается быстро. Все просто гладко.

+0

Мне интересно узнать: вместо того, чтобы загружать все записи «на лету», почему вы не используете для этого тип 'connection' и делаете запросы БД с помощью курсора' connection'? –

ответ

1

Не совсем достаточно информации для ответа на этот вопрос здесь, но я предполагаю, что это не имеет никакого отношения к GraphQL. Я думаю, что ваш клиент просто отменяет запрос и делает другой, потому что первый тайм-аут. Вы можете узнать, происходит ли это при регистрации запросов на ваш сервер до их передачи в GraphQL.

 Смежные вопросы

  • Нет связанных вопросов^_^