我正在使用与导入 csv 和 excel Railscast类似的想法,但由于该集中的标准代码需要一些时间来处理(使用 ActiveRecord 为文件中的每一行创建新记录)我在 Heroku 上遇到超时并希望将导入过程移至后台作业。
我未能成功将文件变量(类型为 ActionDispatch::Http::UploadedFile)发送到作业,因此我发送了 file.original_filename 和 file.path 的各个变量
作业失败并出现file /var/folders/q3/xn0bp7yd2m56_4lbq0069jj80000gn/T/RackMultipart20150319-72431-1a4pnja.xlsx does not exist
我认为正在发生的错误,因为在作业开始之前文件已被删除:
上传的文件是临时文件,其生命周期是一个请求。当对象最终确定时,Ruby 会取消链接文件,因此无需使用单独的维护任务来清理它们。
ActionDispatch::Http::UploadedFile
使用 ActionDispatch::Http::UploadedFile 上传的文件不能在后台作业中使用吗?
我正在使用 Rails 4.2、ActiveJob 和 Resque