У меня есть облачная функция Google, которую я написал в Node.js, которую я настроил запускать каждые 4 часа с помощью облачного планировщика. По сути, эта функция заполняет таблицу, которая у меня есть в BigQuery. Моя функция явно ничего не записывает в каталог tmp, она просто хранит вещи в локальных переменных для потоковой вставки в BigQuery следующим образом:
var rows = []
// code which fills the rows array
await bigqueryClient
.dataset(datasetId)
.table(tableId)
.insert(rows)
Я заметил (глядя на график использования памяти), что память, используемая с каждым вызовом, увеличивается, пока не достигнет предела, установленного для функции (у меня есть 512 МБ для этого), и затем я получаю зарегистрированную ошибку - «Ошибка: превышен предел памяти. Вызов функции прерван».
Я попробовал приведенный ниже код, чтобы попытаться удалить все файлы в каталоге tmp, но похоже, что нет файлов для удаления:
const directory = '/tmp';
fs.readdir(directory, (err, files) => {
if (err) throw err
console.log(files)
for (const file of files) {
fs.unlink(path.join(directory, file), err => {
if (err) throw err
})
}
})
То, что регистрируется, это просто пустой массив '[]'.
Что мне здесь не хватает? Проблема в чем-то другом?