Rails, Paperclip, DelayedJob и очистка временных файлов - PullRequest
1 голос
/ 25 сентября 2011

В приложении Ruby on Rails я использую Paperclip для обработки вложенных файлов.Загрузка (из URL) и вложение выполняются в фоновом режиме (с DelayedJob).

Каждое задание может иметь дело со многими загружаемыми файлами, что приводит к тому, что в / tmp остаются десятки временных файлов.directory.

Иногда некоторые временные файлы остаются в файловой системе до перезапуска работника DelayedJob.

Интересно, есть ли способ очистки временных файлов вручную.

Спасибо за любую помощь

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Вы можете использовать Tempfile.

Утилита для управления временными файлами.

file = Tempfile.new('foo')
begin
    # process here
ensure
    file.close
    file.unlink    # deletes the temp file
end
0 голосов
/ 17 сентября 2012

Вы можете сделать это автоматически с регулярно запланированным заданием, расписаниями с обычным cron или с чем-то вроде gem Clockwork или resque-scheduler, если хотите избежать синтаксиса cron.Пусть он ищет временные файлы в данном каталоге;Проще всего, если это конкретный подкаталог в / tmp, и удалить все файлы старше 10 минут или любого возраста, подходящего для вашего приложения.Выполняйте эту работу один раз в день или несколько раз в день, и вам не нужно об этом беспокоиться.

...