2014-05-14 4 views
2

Я использую приложение Puma для Rails, и мне нужно ускорить цикл итерации для изменения файла и иметь веб-сервер, способный перезагрузить страницу. Сейчас требуется не менее 30 секунд, что слишком медленно. В идеале, это всего лишь несколько секунд.puma: более быстрая перезагрузка сервера?

Вот выход из запуска сервера, если это помогает:

[26861] Puma starting in cluster mode... 
[26861] * Version 2.8.2 (ruby 2.0.0-p451) 
[26861] * Min threads: 4, max threads: 8 
[26861] * Environment: development 
[26861] * Process workers: 1 
[26861] * Preloading application 
[SKYLIGHT] [0.3.12] Running Skylight in development mode. No data will be reported until you deploy your app. 
Deprecated, please require 'sidekiq/pro/web' now at /usr/local/lib/ruby/gems/2.0.0/gems/railties-3.2.18/lib/rails/application/routes_reloader.rb:40:in `block in load_paths' 
[26861] * Listening on tcp://0.0.0.0:4000 
[26861] Use Ctrl-C to stop 
[26939] + Gemfile in context: ~/project/Gemfile 
2014-05-14T00:18:16Z 26939 TID-owgxfytuc INFO: Sidekiq Pro client with redis options {:url=>"redis://localhost:6001”, :driver=>:hiredis} 
[26861] - Worker 0 (pid: 26939) booted, phase: 0 

ответ

3

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

Однако есть также предварительные загрузчики приложений, которые ускоряют время запуска вашего сервера, наблюдая за изменениями файлов и загрузкой сервера.

С рельсов 4.1 это свернуто в каркас с пружиной https://github.com/rails/spring, которая имеет опоры для рельсов 3.2 вверх.

Еще до загрузчика, который я использовал это Зевс с хорошими результатами https://github.com/burke/zeus

Это не исчерпывающий перечень предварительных погрузчиков там, только те, которые я на самом деле используются

Надежда что помогает

+0

> Вы должны иметь возможность вносить изменения в свое приложение rails без перезапуска сервера в режиме разработки Вы говорите, что изменения файла автоматически отражаются? Как Puma знает, что файл .rb действительно изменился, если вы не перезагрузите его? –

+1

Ну, на самом деле это не пума, а рельсы, которые выполняют мониторинг и перезагрузку. Http://crypt.codemancers.com/posts/2013-10-03-rails-reloading-in-dev-mode/ –

+0

Spring поддерживает только Rails 4.0+ , и он включен в Rails 4.1+ по умолчанию, согласно README.md репо. – sealocal

Смежные вопросы