Posted at

request-promise KEEPALIVEで接続を維持したい

More than 1 year has passed since last update.

接続にかかる時間を短縮するためや接続しづらさを解消するために接続を維持したまま続けてリクエストをしたい場合がある。

request-promiseはkeepalive接続に対応している

オプションにforeverという項目があるのでこれをtrueにすると接続が維持されるようになる

以下はそのサンプルである

const rp = require('request-promise')

const get = async() => {
const uri = "http://example.com"
const opt = {
uri : uri,
method: "GET",
timeout: 10 * 1000,
forever: true,
}
const result = { success: null, error: null, time: 0 }
const begintime = process.uptime()
try{
result.success = await rp(opt)
}catch(e){
result.error = e
}
const endtime = process.uptime()
result.time = endtime - begintime
return result
}

const main = async() => {
for(let i=0; i<5; ++i) await get().then(console.log)
}

main()