Rails: Куда поместить скрипт / функцию, которая запускается только при запуске сервера?

#ruby-on-rails #initializer

#ruby-on-rails #инициализатор

Вопрос:

Я использую Predictor gem для системы рекомендаций. Я хочу написать скрипт для инициализации рекомендателя при запуске rails server . Если я помещу скрипт в initializers/ директорию, он также будет запускаться при rake каждом выполнении.

Есть ли способ добавить скрипты, которые выполняются только при запуске rails server ?

Ответ №1:

Хотя это не рекомендуется, вы могли бы обновить файл bin/rails :

 #!/usr/bin/env ruby

puts "Write your custom code here"

APP_PATH = File.expand_path('../../config/application',  __FILE__)
require_relative '../config/boot'
require 'rails/commands'
 

Это выполняется всякий rails s раз, rails c когда вызывается любая команда rails.