读取文件时增加线程数限制

This commit is contained in:
GoEdgeLab
2024-04-29 22:01:55 +08:00
parent fe52046fba
commit 43a594198e
5 changed files with 133 additions and 13 deletions

View File

@@ -393,7 +393,11 @@ func (this *FileStorage) openReader(key string, allowMemory bool, useStale bool,
// 尝试通过MMAP读取
if estimatedSize > 0 {
if !fsutils.ReaderLimiter.TryAck() {
return nil, ErrServerIsBusy
}
reader, err := this.tryMMAPReader(isPartial, estimatedSize, path)
fsutils.ReaderLimiter.Release()
if err != nil {
return nil, err
}
@@ -412,7 +416,11 @@ func (this *FileStorage) openReader(key string, allowMemory bool, useStale bool,
var err error
if openFile == nil {
if !fsutils.ReaderLimiter.TryAck() {
return nil, ErrServerIsBusy
}
fp, err = os.OpenFile(path, os.O_RDONLY, 0444)
fsutils.ReaderLimiter.Release()
if err != nil {
if !os.IsNotExist(err) {
return nil, err