Подтвердить что ты не робот

Как мне получить "пуму", чтобы начать, автоматически, когда я запускаю "сервер rails" (например, Thin)

Обычно, когда вы запускаете rails server, он запускает Webrick. Если вы установите "тонкий" камень, вместо этого вместо него начнется "тонкий". Я хотел бы сделать то же самое с сервером "puma".

Я вижу, что команда start внутри railties (lib/rails/commands) вызывает супер, но я не могу найти, какие существуют различные опции для "super". Я также рассмотрел множество ссылок на Rails в "тонких".

Я нашел запись Changelog, озаглавленную "Добавлена ​​тонкая поддержка script/server. # 488 [Bob Klosinski]" с октября 2008 года, но эта область кода значительно изменилась с момента фиксации (a93ea88c0623b4f65af98c0eb55924c335bb3ac1).

Если кто-то может направить меня в нужную часть кода, это будет очень полезно.

4b9b3361

Ответ 1

После некоторых раскопок я нашел ответ: fooobar.com/questions/200894/...

Чтобы сделать Puma по умолчанию, вставьте этот код в скрипт /rails выше, для этого требуется 'rails/commands':

require 'rack/handler'
Rack::Handler::WEBrick = Rack::Handler.get(:puma)

Puma теперь является сервером по умолчанию, если вы используете rails s

rails s
=> Booting Puma
=> Rails 3.2.12 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Connecting to database specified by database.yml
Puma 1.6.3 starting...
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://0.0.0.0:3000

Рельсы 4

С Rails 4 вам просто нужно добавить драгоценный камень в Gemfile. (Протестировано с Rails 4.0.2 и Puma 2.6.0)

Ответ 2

По крайней мере, в Rails 4 вам просто нужно добавить следующее в свой Gemfile

gem 'puma'

затем запустите 'bundle', а затем, когда вы запустите сервер rails, и будет использоваться Puma.

Ответ 3

Это работает для меня. Ruby 2.0.0 Rails 3.2.13 Puma 1.6.3

rails s puma