在Ruby on Rails应用程序中,我使用Paperclip来处理附加文件。下载(来自URL)和附件是在后台作业(使用DelayedJob)中完成的。
每个作业可能会处理许多要下载的文件,并导致/ tmp目录中留下许多临时文件。
有时,一些临时文件会保留在文件系统中,直到重新启动DelayedJob工作程序。
我想知道是否有办法手动清理临时文件。
感谢您的帮助
答案 0 :(得分:0)
如果您想避免使用cron的语法,您可以使用定期计划的作业自动执行此操作,使用常规cron计划,或者使用Clockwork gem或resque-scheduler。让它在给定目录中查找临时文件;如果它是/ tmp下的特定子目录,并且删除所有超过10分钟的文件,或者对您的应用程序有意义的任何年龄,它是最简单的。每天运行一次,或每天运行几次,你不必担心它。
答案 1 :(得分:0)
您可以使用Tempfile
。
用于管理临时文件的实用程序类。
file = Tempfile.new('foo')
begin
# process here
ensure
file.close
file.unlink # deletes the temp file
end