Я пишу небольшой скрипт архивации (в node.js), чтобы переместить файлы на моем Google Диске в заранее заданную папку, если они содержат .archive.7z
в имени файла. Сценарий периодически запускается как задание cron, и перемещение файлов не вызвало каких-либо проблем, но файлы, которые все еще находятся в процессе загрузки клиентом для настольного компьютера, перемещаются до завершения. Это прекращает загрузку и приводит к повреждению файлов в папке назначения.
Файлы, все еще загружаемые с моего рабочего стола в Google Drive, в любом случае возвращаются следующей функцией:
async function getArchivedFiles (drive) {
const res = await drive.files.list({
q: "name contains '.archive.7z'",
fields: 'files(id, name, parents)',
})
return res.data.files
}
После того, как файлы перемещаются и переименовываются с использованием следующего кода, загрузка прекращается с моего клиента (Insyn c) и целевые файлы разрушаются.
drive.files.update({
fileId: file.id,
addParents: folderId,
removeParents: previousParents,
fields: 'id, parents',
requestBody: {
name: renameFile(file.name)
}
})
Есть ли способ проверить, загружается ли файл по-прежнему перед тем как переместить?