Инициализаторы Rails 3, которые работают только на `rails server`, а не на` rails generate` и т. Д.

У меня есть относительно небольшой кусок кода инициализатора, который я хочу запускать всякий раз, когдаrails server работает, но не когда я бегуrails generate, rails console или любая другая команда rails (включая задачи rake, которые требуют задачи среды). Этот фрагмент кода предварительно заполняет некоторые кеши и является относительно дорогим, поэтому я действительно не хочу, чтобы он работал на чем-либо, кромеrails s

Решения, которые являются неудовлетворительными:

Форман и соавт. будет означать, что он будет запущен в другом процессе, который (а) перегружен для этого небольшого фрагмента кода, (б) требует межпроцессного взаимодействия вместо простого подхода в памяти, предоставляемого инициализатором.

На сервере я решил эту проблему, настроив пассажиров для передачи специальной переменной среды в rails, сообщая, что она работает в контексте сервера. Однако я хотел бы, если это возможно, работать "из коробки" на всех машинах разработчика, не прибегая к тому, чтобы не забыть запустить rails server таким способом, который также предоставит эту переменную среды (т.е.IN_SERVER=true rails server).

Этот вопрос всегда задавался ранее относительно запуска инициализатора при запуске вrails server и не вrake, Однако я хочу, чтобы он запускался только при инициализации сервера - исправление для rake великолепно, но не является исчерпывающим.

Ответы на вопрос(2)

Ваш ответ на вопрос