我尝试使用fs.unlink删除一些本地文件后,我将它们上传到s3存储桶中,它会删除文件,但也不会抛出这样的文件或目录错误。
我在async queue的drain callback
内运行此命令,根据异步文档,当队列中的最后一项返回时调用drain,但在我的情况下,它似乎运行了两次,因为当我运行时,我可以看到我的控制台日志console.log('Completed upload in', delta, 'seconds')
两次,一旦它在0.001秒内完成,第二个在所有文件上传到s3存储桶后需要几乎250秒,这里我也得到错误的我的取消链接这说没有这样的文件或目录错误。 :
const q = async.queue((task, callback) => {
s3.upload(params, options, callback)
}
q.drain = function () { // It seems this method run twice!
var delta = (new Date() - startTime) / 1000
console.log('Completed upload in', delta, 'seconds')
fs.unlink(`./${task.src}`, (err) => {
if (err) console.log("ERROR", err)
console.log(`successfully deleted ${task.src}`)
})
return true
}
q.push(fileNamesReformat)