যখনই আমার অনুরোধগুলি শেষ করতে 2 মিনিটের বেশি সময় লেগেছিল আমি সেই সঠিক বার্তাটি পাচ্ছিলাম। ব্রাউজারটি অনুরোধটি থেকে সংযোগ বিচ্ছিন্ন করবে, তবে ব্যাকএন্ডে অনুরোধটি শেষ না হওয়া অবধি চলতে থাকবে। সার্ভার (আমার ক্ষেত্রে ASP.NET ওয়েব এপিআই) সংযোগ বিচ্ছিন্ন করতে পারে না।
একটি পুরো দিন অনুসন্ধানের পরে, অবশেষে আমি এই উত্তরটি পেয়েছি , ব্যাখ্যা করে যে আপনি যদি প্রক্সি কনফিগারেশন ব্যবহার করেন তবে এর ডিফল্ট সময়সীমাটি 120 সেকেন্ড (বা 2 মিনিট) রয়েছে has
সুতরাং, আপনি নিজের প্রক্সি কনফিগারেশনটি সম্পাদনা করতে পারেন এবং যা যা প্রয়োজন তা সেট করতে পারেন:
{
"/api": {
"target": "http://localhost:3000",
"secure": false,
"timeout": 6000000
}
}
এখন, আমি এটিকে এনটিএলএম প্রমাণীকরণের সাথে কাজ করার জন্য এজেন্টকিলাইভ ব্যবহার করছিলাম , এবং জানতাম না যে এজেন্টের সময়সীমা প্রক্সিটির সময়সীমাটির সাথে কোনও সম্পর্ক নেই, তাই উভয়ই সেট করতে হবে। এটি বুঝতে আমার কিছুটা সময় লেগেছিল, সুতরাং এখানে একটি উদাহরণ দেওয়া হল:
const Agent = require('agentkeepalive');
module.exports = {
'/api/': {
target: 'http://localhost:3000',
secure: false,
timeout: 6000000, // <-- this is needed as well
agent: new Agent({
maxSockets: 100,
keepAlive: true,
maxFreeSockets: 10,
keepAliveMsecs: 100000,
timeout: 6000000, // <-- this is for the agentkeepalive
freeSocketTimeout: 90000
}),
onProxyRes: proxyRes => {
let key = 'www-authenticate';
proxyRes.headers[key] = proxyRes.headers[key] &&
proxyRes.headers[key].split(',');
}
}
};
err
অবজেক্টটি লগ করার চেষ্টা করুন - কেবলমাত্র নয়message