Утечка памяти в трубе SharpJS на Linux - PullRequest
1 голос
/ 28 сентября 2019

Я читаю из fs readStream (из файла загрузки в GraphQL) и передаю его через функцию преобразования SharpJS, а через writeStream передаю его для записи в файл.В моей системе (windows) он работает просто отлично, но на моем хосте (linux) он создает файл дампа основной памяти размером 500 МБ, а образы, которые он создает, имеют размер 0 КБ.

     const transform = (dimen) => sharp().resize(dimen, dimen)
        const fs512 = fs.createWriteStream(addSuffix(filePath))
        const fs256 = fs.createWriteStream(addSuffix(filePath))
        const fs128 = fs.createWriteStream(addSuffix(filePath))

        await stream.pipe(transform(512)).pipe(fs512)
        await stream.pipe(transform(256)).pipe(fs256)
        await stream.pipe(transform(128)).pipe(fs128)

У меня естьпопытался прослушать событие finish и закрыть их, но это не сработало. Я думаю, что проблема из-за SharpJS , если я удаляю первый канал, он работает (без изменения размера).

...