Я попытался очистить записи через определенный период времени (6 месяцев), используя драгоценный камень «когда угодно».
В моем планировщике всякий раз:
every 1.month, at: '1am' do
rake 'lib/tasks/cleanup_user.rake'
end
В lib/tasks/cleanup_user.rake
@user = User.all.where(:created_at > 'Time.6.month.ago').delete
Кажется, это правильно. Однако я получил ошибку «неинициализированный постоянный пользователь». Я относительно новичок в рельсах. Пожалуйста, помогите мне.
РЕДАКТИРОВАТЬ: я изменил игру, выполнив чистую однострочную команду:
set :output, "log/cron.log"
every 1.minutes, :environment => :development do
command 'User.where("confirmed = 0 AND created_at <= ?", 6.months.ago).delete'
end
Я устанавливаю конкретную среду и запускаю ее в команде:
whenever --set environment=development --update-crontab userscleaning
Проверяю в crontab, он есть, но все равно не работает. Любая мысль?