expressjs文件下载内存泄漏
Posted
技术标签:
【中文标题】expressjs文件下载内存泄漏【英文标题】:expressjs file download memory leak 【发布时间】:2018-03-24 12:01:19 【问题描述】:我在使用 ExpressJs 时遇到了一种非常奇怪的行为,如果在一秒钟内被多个请求击中,下面的代码会向客户端抛出 404 并且查看日志我看到的所有内容如下:
(node:1460) 警告:检测到可能的 EventEmitter 内存泄漏。 11 添加了文件侦听器。使用emitter.setMaxListeners() 增加限制
目标方法(从 AWS S3 存储桶下载文件并通过管道传输响应):
exports.download = function (req, res)
var fileName = req.params.fileName;
var options =
Bucket: config.s3.bucket,
Key: fileName
;
res.attachment(fileName);
s3.getObject(options).createReadStream().on('error', function(err)
console.log(err);
).pipe(res);
【问题讨论】:
【参考方案1】:事实证明,formidable 妨碍了。一旦我从这个请求中过滤掉它,一切都会按预期工作。
【讨论】:
以上是关于expressjs文件下载内存泄漏的主要内容,如果未能解决你的问题,请参考以下文章