Чокидар последовательно следит за обработкой файлов
В настоящее время я сталкиваюсь с небольшой проблемой с 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 файлов он зависает и ничего не делает. Я хочу, чтобы он обрабатывал один файл за раз, и после обработки каждого файла я хочу, чтобы он снова проверял наличие файлов в папке, когда я перемещаю обработанный файл.
Заранее спасибо.