Пишу сайт. Список статей. Затем пишу скрипт типа граббера новых статей или индексатора.
Как его лучше писать? Сейчас это скрипт на руби, который запускается из крона и работает по пол часа. Это теоретически не правильно. Хочется использовать модели из rails, валидаторы, автоматически добавлять данные в связанные модели. Значит ли это, что нужно подключать весь фреймворк и писать все через rails?
В каком месте вообще в rails пишутся апдейтеры и другие скрипты? Если, к примеру, есть куча часто работающих мелких скриптов, нецелесообразно для каждого запускать свое rails-окружение.
для rails существует не мало написанных скедулеров. общий принцип работы с ними: устанавливаете гем, указываете в инициализаторе настройки запуска, и затем пишете сами задания полностью в скопе rails (с activerecord и прочими плюшками).
конкретнее можете посмотреть это: backgroundrb.rubyforge.org/ github.com/tobi/delayed_job github.com/javan/whenever
как вариант можно хотя бы грузить только ActiveRecord, а не всю среду. зависит от требований.
я у себя никогда раннер не использую, т.к. у меня обычно приложения (несколько Rack-middleware, пара десятков контроллеров и моделей, мемкеш) на VPSах не оставляют памяти чтобы даже бандлер или консоль запустить.