Функция облачных миниатюр завершается с ошибкой «Ошибка: EBUSY: ресурс занят или заблокирован, rmdir '/ tmp / thumbs' at Error (native)» - PullRequest
0 голосов
/ 26 августа 2018

Моя функция Firebase Cloud не работает со следующей ошибкой:

Error: EBUSY: resource busy or locked, rmdir '/tmp/thumbs' at Error (native)

С помощью моей функции я создаю эскизы для загруженных изображений и сохраняю их в Firebase Storage.То, как я построил приведенный ниже код, все работает нормально (за исключением того, что каждый вызов функции завершается неудачей).Но я боюсь, что, так как старые файлы в папке tmp не будут удалены, моя папка tmp заполнится ненужными файлами.имя файла source.png, поскольку при следующем вызове функции она не будет перезаписывать уже загруженный файл при выполнении bucket.file(filePath).download().

Но я бы хотел почистить папку tmp и не могу понять, почему папка «занята или заблокирована».Есть ли способ разблокировать его перед попыткой его удаления?

ОБНОВЛЕНИЕ - РЕШЕНИЕ ОТ DOUG

Как ответил Дуг ниже, удаление всех файлов перед удалением папки сработало,Итак, я закончил этим:

// 5. Cleanup remove the tmp/thumbs from the filesystem
await fs.emptyDir(workingDir)
await fs.remove(workingDir)

1 Ответ

0 голосов
/ 26 августа 2018

Я не знаю, приведет ли это к возникновению EBUSY, но rmdir (и версия узла, и командная строка unix с тем же именем) требует, чтобы каталог был пустым перед вызовом.Вы оставили файлы там, что, вероятно, приведет к сбою rmdir.Попробуйте удалить каждый сгенерированный файл по отдельности, а затем удалить каталог.

...