Os trilhos recarregam rotas dinâmicas em várias instâncias / servidores

Como podemos forçar o Rails a reload_routes em vários servidores / instâncias?

Temos uma plataforma multilocatário no Google App-Engine em execução em mais de 5 instâncias e queremos que todos os nossos sites definam seu próprio conjunto de rotas no back-end. Sempre que temos um novo site, atualmente precisamos reiniciar todos os servidores para poder acessar as novas rotas.

Nós seguimos issoguia mas funciona apenas em um ambiente local e não está atualizando rotas notudo servidores em produção sem reiniciar os servidores.

Nossos arquivos de rota são assim:

routes.rb

Frontend::Application.routes.draw do
  root 'home#index'
  ...
  DynamicRoutes.load
end

lib / dynamic_routes.rb

def self.load 
  Frontend::Application.routes.draw do
    Site.all.each do |site|
      site.routes.each do |custom_route|
       route_name = custom_route[0]
       route = custom_route[1]

       # write the route with the host constraint
       self.constraints(:host => site.hostname) do
         case route_name
         when :contact_form
           mapper.match "#{route}", to: 'contact_forms#new' as: "contact_#{site.id}"
         end
         ...
       end
     end
    end
  end
end

def self.reload
  Frontend::Application.reload_routes!     
end

após cada atualização de rotas ou criação de um novo site, estamos executandoDynamicRoutes::reload

questionAnswers(2)

yourAnswerToTheQuestion