Чокидар последовательно следит за обработкой файлов

В настоящее время я сталкиваюсь с небольшой проблемой с chokidar. Интересно, правильно ли я его использую.

Так что в моей работе у меня есть несколько файлов, поступающих через некоторое количество "х" времени. и я должен обработать их все с помощью нескольких операций и сохранить их в базе данных. Поскольку у меня уже есть некоторые файлы (около 8), я должен обработать их вместе с входящими файлами.

Следующее - мой объект chokidar:

_watcher(pattern){
const dir = this._getBaseDirFromPattern(pattern)
this.logger.debug(`Watching ${dir}`)
const w = chokidar.watch(dir, {
  persistent: true,
  polling: true,
  ignoreinitial:false,
  awaitWriteFinish: {
    stabilityThreshold: 5000,
    pollInterval: 600
  }
})
w.on('error', (err) => this.logger.error(err))
return w
}

и я использую это в другой функции как:

_doStuff(){
this._watcher(parameter).on('add', (file) => { 

  // A bunch of callbacks here in this form.

   return fs.readFile(file).then((buffer) => {
    // do more stuff and have more callbacks
    // Finally move the file at the end using fs-extra
   }
 }
}

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

Заранее спасибо.

0 ответов

Другие вопросы по тегам