Как удалить файлы в каталоге tmpfs или / tmp для облачных функций Google? - PullRequest
0 голосов
/ 26 июня 2019

У меня есть облачная функция 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
    })
  }
})

То, что регистрируется, это просто пустой массив '[]'.

Что мне здесь не хватает? Проблема в чем-то другом?

...