Как тихо запустить Синатру + Тонкий? - PullRequest
7 голосов
/ 23 декабря 2011

У меня есть веб-сервис Sinatra :: Base, который я хочу запустить из командной строки Ruby, поэтому у меня есть следующее:

# command line program file
require 'mymodule/server'

puts "Running on 0.0.0.0:4567, debugging to STDOUT..."

MyModule::Server.run! bind: '0.0.0.0', port: 4567, environment: :production

Это работает, как и ожидалось, но выдает:

$ myscript
Running on 0.0.0.0:4567, debugging to STDOUT...

== Sinatra/1.3.1 has taken the stage on 4567 for production with backup from Thin
>> Thin web server (v1.3.1 codename Triple Espresso)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:4567, CTRL+C to stop

127.0.0.1 - - [23/Dec/2011 18:44:55] "POST /images HTTP/1.1" 200 360 0.0133
...

И я хочу, чтобы это было тихо, и позвольте мне выводить то, что я хочу. Например, если я запускаю его не демонизированный, я хочу просто увидеть какое-то сообщение из программы командной строки и вывод журнала, что-то вроде:

$ myscript
Running on 0.0.0.0:4567, debugging to STDOUT...
127.0.0.1 - - [23/Dec/2011 18:44:55] "POST /images HTTP/1.1" 200 360 0.0133
...

Также хотел бы отключить его, скрыв:

== Sinatra has ended his set (crowd applauds)

Последний вопрос, является ли это лучшим вариантом для запуска приложения sinatra с тонким изнутри кода приложения (в данном случае сценария ruby)?

1 Ответ

2 голосов
/ 24 января 2012

Вы можете отключить ведение журнала Sinatra с помощью

set :logging, false

http://www.sinatrarb.com/configuration.html

Что касается того, является ли это лучшим способом запустить приложение sinatra ... Возможно, вы захотите взглянуть на гем "foreman" и "Procfile" (который использует Heroku.com) в качестве примера:

http://ddollar.github.com/foreman/

...