0
Я хочу установить cron job
, чтобы удалить скриншоты, которые старше двух минут, и задание cron для запуска каждые две минуты.Использовать каждый раз, когда gem настраивает работу cron
Содержание schedule.rb файла
every 2.minutes do
runner 'screenshot.delete_old', output: {error: "#{path}/log/error.log", standard: "#{path}/log/cron.log"}
end
Содержание модели Screenshot.rb файл
def self.delete_old
# @old_screenshots = Screenshot.where('Screenshot.created_at < ?', Time.now)
#@old_screenshots.delete_all
#@screenshot.delete_old
#Screenshot.delete
screenshot_ids = screenshot.find(:all, :conditions => ["created_at ", 2.minutes.ago])
if screenshot_ids.size > 0
screenshot.destroy(screenshot_ids)
puts "#{screenshot_ids.size} screenshots have been deleted!"
end
end
Я обновил файл кронтаб и побежал сервера рельсы Ожидая screeshots будут удалены. Но это не работает. Может ли кто-нибудь помочь мне в этом? Благодарю.
Пробовал выше код, но не работает. Благодарю. – Harika
У меня была точка с запятой из запроса sql, попробуйте еще раз. И, пожалуйста, попробуйте запустить этот код с консоли, чтобы узнать, что происходит. Журнал ошибок будет полезен –