我有一个导入方法,用于延迟使用DelayedJob进行CSV导入:
def import
InventoryItem.delay.import_list(params[:file].path, current_vendor.id)
redirect_to ...
end
如果我没有弄错的话,在这里传递文件参数会创建一个临时文件,在某些时候会进行垃圾清理。我的问题是:这是什么时候发生的?当我的Unicorn工作人员进程被杀死时它会被清除吗?
看起来我的tempfile有可能在后台作业开始处理之前得到清理。我是否应该将文件上传到S3或其他东西以防止这种情况,或者是否有更简单的方法来避免此问题? (我已经在我的应用程序中使用了CarrierWave和S3。)