У меня есть список записей в Rails, и у этих записей есть логическое поле, чтобы сделать их общедоступными или частными. Мне нужно изменить каждый публичный отчет на приватный всякий раз, когда updated_at> = 30 дней назад.Как обновить запись, основанную на обновленном возрасте без обратных вызовов
Я не знаю с чего начать. Любые советы, ссылки и советы приветствуются. Спасибо!
Решение
В соответствии с рекомендациями @ lol007 я использую всегда, когда драгоценный камень. Шагами я следовать являются:
- Создать приложение с заголовком таблицы сообщения: содержание строки: текст статус: логический и запустить первый раз сервер, чтобы добавить информацию, то остановить сервер и продолжить с другими шагами.
- Добавить всякий раз, когда gem в мой gemfile и запускает пакет.
- Использовать при необходимости. в консоли, чтобы создать файл конфигурации/schedule.rb
Добавить в моделях/post.rb следующий код:
def self.check_updated_at where('updated_at < ?', 30.minutes.ago).update_all({ :status => :true }) end
Добавить в конфиге/schedule.rb следующий код:
every 3.minutes do runner "Post.check_updated_at" end
Потому что им работать в разработке, я запустить следующую команду:
$ whenever --update-crontab --set environment='development'
Затем, чтобы проверить мои хроны работают я запустить следующую команду:
$ crontab -l
Моего последний шаг запустить сервер рельсов и заставить работать мое приложение.
Другие линии я использовал в моем тесте:
$ whenever -w
Для создания файла хрон в производстве. И
$ crontab -r
Чтобы удалить файл cron, когда это не тот, который я хочу.
спасибо всем за ваше время и ввод.
спасибо за ваши комментарии, я остановил эту проблему, потому что клиенту не нужно больше, но сейчас я снова хочу добавить в новый проект. Всякий раз, когда Gem работает с рубином 1.8.7 и рельсами 3.2.11? Безусловно, это моя конфигурация прямо сейчас. – Stanmx
Думаю, да. «Совместимость с Ruby 1.8.7-1.9.3, JRuby и Rubinius». (c) –
Я пытаюсь с каждым драгоценным камнем, но я не вижу, чтобы что-то случилось. Посмотрите мой пример: https://gist.github.com/stanmx/7310350 – Stanmx