Вы можете попробовать использовать FileUtils#rm_rf
, включенные в стандартную библиотеку. Например:
FileUtils.rm_rf Dir.glob("#{Rails.root}/public/uploads/tmp/*")
Edit (чтобы использовать его всякий раз, когда драгоценный камень)
Подход с использованием задачи рейка может быть:
1) Создать рейк задачу в f.ex: lib/tasks/cleanup.rake
нечто похожее на следующее:
require 'fileutils'
namespace :app do
desc "Cleanup temp uploads"
task :cleanup => :environment do
FileUtils.rm_rf Dir.glob("#{Rails.root}/public/uploads/tmp/*")
end
end
2) в config/schedule.rb
(созданный, когда после протекающей г wheneverize команда):
every 5.minutes do
# run the previous app:cleanup task
rake "app:cleanup"
end
3) Всякая раз, когда это только обертка легко определить CRONTAB рабочих мест, так что теперь нам нужно экспортировать определенное расписание в файл кронтаб для текущего пользователя. Для этого мы должны ввести из корня приложения:
bundle exec whenever -w
4) Вы можете проверить, что он работал, набрав crontab -l
и вы должны что-то вроде следующего:
# Begin Whenever generated tasks for: /tmp/whene/config/schedule.rb
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /bin/bash -l -c 'cd /tmp/whene && RAILS_ENV=production bundle exec rake app:cleanup --silent
В качестве примечания, если вы хотите, чтобы операция записывала некоторые выходные данные журнала, пожалуйста, проверьте this page on the whenever github wiki.
Надеюсь, это поможет.
Благодарю вас, но как я могу развернуть в каждом случае, если этот код? Еще раз спасибо :) – hyperrjas
Отредактировано, чтобы показать пример того, как это делать с каждым разом, надеюсь, что это поможет. –
Спасибо, что я проверил, но ничего не происходит :(Я использую mongrel на моем сервере разработки в ubuntu 10.10 maverick.Как я могу проверить, хорошо ли работает на сервере разработки? Спасибо! – hyperrjas