Cuando ejecuté una pequeña aplicación sinatra, tengo que presionar CTRL + C dos veces para que se apague.
== Sinatra / 1.0.b ha subido al escenario en 4567 para el desarrollo con respaldo de Thin >> Servidor web delgado (v1.2.7 nombre en clave No Hup) >> Conexiones máximas establecidas en 1024 >> Escuchando en 0.0.0.0:4567, CTRL + C para detener ^ C >> Deteniendo ... == Sinatra ha terminado su set (multitud aplaude) == Sinatra / 1.0.b ha subido al escenario en 4567 para el desarrollo con respaldo de Thin >> Servidor web delgado (v1.2.7 nombre en clave No Hup) >> Conexiones máximas establecidas en 1024 >> Escuchando en 0.0.0.0:4567, CTRL + C para detener ^ C >> Deteniendo ... == Sinatra ha terminado su set (multitud aplaude)
Actualmente estoy ejecutando:
ubuntu 9.10 (kármico)
rubygems 1.3.6
ruby 1.9.1p376 (2009-12-07 revisión 26041) [i486-linux]
sinatra 1.0.b
delgado 1.2.7
Me sucede cuando inicio una aplicación de estilo de clase con Application.run
en config.ru, por ejemplo.
Esto solía sucederme antes bajo Cygwin. Definitivamente tiene que ver con cómo inicia la aplicación y el contenido de su archivo de almacenamiento. Lo que hago es:
yourapp.rb
clase App < Sinatra: Base
lo que ...
fin
config.ru
requieren 'rubygems'
requiere 'yourapp.rb'
ejecutar la aplicación
y finalmente, inicie la aplicación usando un archivo por lotes o desde su indicador de shell:
rackup -s thin config.ru
No pude reproducir en 1.0. Vuelva a abrir si esto sigue siendo un problema. Gracias
Tengo este problema. Mi código se puede simplificar a esto y aún produce el problema:
require 'sinatra'
class MyServer < Sinatra::Base
get '/test' do
'Hello world!'
end
run! if app_file == $0
end
Estoy corriendo en la terminal con ruby my_server.rb
. Si elimino la línea run
, entonces solo requiere ctrl + c una vez para apagarse, pero no se llama al punto final, sino que muestra este error:
[28 / May / 2016: 20: 37: 15 +0100] "GET / test HTTP / 1.1" 404 466 0,0005
Es porque importé sinatra
, en lugar de sinatra/base
Comentario más útil
Es porque importé
sinatra
, en lugar desinatra/base