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) では、サーバーは最初からロードを繰り返すため、応答に時間がかかります。
これは常に起こっているわけではありません。サーバーのロードが遅い場合に発生します。サーバーの読み込みが速い場合。すべてがスムーズに実行されます。