2011-12-23 42 views
7

Tôi có một webservice Sinatra :: Base mà tôi muốn bắt đầu từ một chương trình của Ruby dòng lệnh, vì vậy tôi có điều này:Làm thế nào để âm thầm bắt đầu Sinatra + Thin?

# 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 

này hoạt động như mong đợi nhưng nó ném ra:

$ 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 
... 

Và tôi muốn nó im lặng, và hãy để tôi sản xuất những gì tôi muốn. Ví dụ, nếu tôi bắt đầu nó không daemonized Tôi muốn chỉ thấy một số thông điệp từ chương trình dòng lệnh và dữ liệu ghi nhận, một cái gì đó như:

$ 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 
... 

Cũng muốn âm thầm tắt nó, ẩn:

== Sinatra has ended his set (crowd applauds) 

Một câu hỏi cuối cùng, đây có phải là lựa chọn tốt nhất để bắt đầu ứng dụng Sinatra với mỏng từ bên trong mã ứng dụng (kịch bản ruby ​​trong trường hợp này) không?

Trả lời

2

Bạn có thể tắt Sinatra đăng nhập với

set :logging, false 

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

As far as hay không đây là cách tốt nhất để bắt đầu một ứng dụng Sinatra ... Bạn có thể muốn nhìn vào " quản đốc" đá quý, và "Procfile"(mà Heroku.com sử dụng) là một ví dụ:

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

+2

Vô hiệu hóa': logging' không làm việc cho tôi. – Nakilon

+0

Nếu sử dụng SinatraBase, bạn phải làm điều đó bên trong khai báo lớp ... http://www.sinatrarb.com/intro.html#Sinatra::Base%20-%20Middleware,%20Libraries,%20and%20Modular%20Apps – GroovyCakes

+0

Bạn cũng có thể thử cài đặt bật/tắt kiểu tùy chọn – GroovyCakes

Các vấn đề liên quan