Команда Curl не обрабатывает изменения, внесенные в файл - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь проверить синтаксический анализ файла zip в файле node.js, используя curl из командной строки.Первоначально у меня был маршрут, который выглядит следующим образом:

app.post('/processZip', (req, res) => {
const zip = req.file
console.log(req)
extractCSVFilesFromZip(zip, '/tmp/connections', '/tmp/messages')
const connectionsOutputPath = '/tmp/connections'
const messagesOutputPath = '/tmp/messages'
console.log(`Size of Parsed Connections File: ${connectionsOutputPath.size}`)
console.log(`Size of Parsed Messages File: ${messagesOutputPath.size}`)
res.send('success!')
}) 

, который вызывает функцию, которая выглядит следующим образом:

const extractCSVFilesFromZip = (zipFilePath, connectionsCSVOutputPath, 
messagesCSVOutputPath) => {
console.log(zipFilePath)
fs.createReadStream(zipFilePath)
    .pipe(unzip.Parse())
    .on('entry', entry => {
        const [
            fileName,
            size
        ] = [
            entry.path,
            entry.size
        ]
        if (fileName === 'Connections.csv') {
            console.log(`Size of Connections File to Parse: ${size}`)
            entry.pipe(fs.createWriteStream(connectionsCSVOutputPath))
        } else if (fileName === 'Messages.csv') {
            console.log(`Size of Messages File to Parse: ${size}`)
            entry.pipe(fs.createWriteStream(messagesCSVOutputPath))
        } else {
            entry.autodrain()
        }
    })
   } 

Я использую эту команду curl для проверки запроса:

curl -F file = @ .. / .. / .. / Downloads / Basic_LinkedInDataExport_09-14-2018.zip http://localhost:5000/processZip/

Первоначально, это дало мне ошибку, указывающую напервый экземпляр createReadStream в функции, поэтому я закомментировал весь код и просто попытался console.log (zipFilePath), чтобы увидеть, что отправляется.Но я все еще получаю ту же ошибку.На самом деле, я могу закомментировать, удалить или изменить любой код в маршруте или в файле, но это не имеет значения.Я все еще получаю ту же ошибку.Это как если бы curl все еще отправлял запрос к кешированной версии файлов, а не обрабатывал изменения, которые я делаю.Но если я проверю файлы из командной строки с помощью sudo nano, я смогу увидеть обновленные версии.Что может быть причиной этой проблемы?Я сохранил файлы и перезапускал сервер каждый раз.Может ли быть так, что мне нужно ждать дольше, чем обычно, чтобы изменения были обработаны, потому что это большая кодовая база, чем я привык работать, или это что-то еще, чтобы обвинить.Для чего это стоит, серверы работают навсегда.Заранее спасибо за любую помощь!

1 Ответ

0 голосов
/ 20 сентября 2018

Хорошо, я понял, что на 5000 запущен призрачный процесс. Узел killall -9 добился цели!

...