谷歌云函数在fs.writeFile之后崩溃



我有一个奇怪的错误。我正在使用Firebase的云函数进行一些数据处理。在函数中,我需要(a(将CSV写入磁盘上的tmp/文件夹,(b(将此文件上传到谷歌云存储。

我正在使用 fs.writeFile 写入磁盘。这工作正常 - 数据已正确写入 tmp 文件夹。但是,如果不立即解决,整个函数就会崩溃。因此,如果函数中有下一步(例如等待上传完成谷歌云存储(,该函数就会崩溃。

我已经能够使用以下简单版本复制该错误:

async.waterfall([
function (callback) {
fs.writeFile("tmp/testfile.txt", "hello world", function(err) {
callback(null);
});
},
function (callback) {
setTimeout(function(){
callback(null)
}, 10000);
}
], function(err){console.log("done!"})

任何关于可能出错的想法将不胜感激!

对于后代来说,问题是我将 tmp 文件夹设置为简单的"tmp"。事实证明,您需要使用 os.tmpdir(( 查找临时文件夹。一旦你这样做,它就可以正常工作。

最新更新