Lorsque j'exécute une petite application sinatra, je dois appuyer deux fois sur CTRL + C pour l'arrêter.
== Sinatra/1.0.b a pris la parole sur 4567 pour le développement avec la sauvegarde de Thin >> Serveur Web léger (nom de code v1.2.7 No Hup) >> Nombre maximal de connexions défini sur 1024 >> Écoute sur 0.0.0.0:4567, CTRL+C pour arrêter ^C>> Arrêt... == Sinatra a terminé son set (la foule applaudit) == Sinatra/1.0.b a pris la parole sur 4567 pour le développement avec la sauvegarde de Thin >> Serveur Web léger (nom de code v1.2.7 No Hup) >> Nombre maximal de connexions défini sur 1024 >> Écoute sur 0.0.0.0:4567, CTRL+C pour arrêter ^C>> Arrêt... == Sinatra a terminé son set (la foule applaudit)
Je cours actuellement :
Ubuntu 9.10 (karmique)
rubygems 1.3.6
ruby 1.9.1p376 (2009-12-07 révision 26041) [i486-linux]
sinatra 1.0.b
mince 1.2.7
Cela se produit pour moi lors du démarrage d'une application de style de classe avec Application.run
dans le config.ru, par exemple.
Cela m'arrivait auparavant sous Cygwin. Cela a certainement à voir avec la façon dont vous démarrez l'application et le contenu de votre fichier rackup. Ce que je fais c'est :
votreapplication.rb
classe App < Sinatra:Base
quoi..
finir
config.ru
nécessitent des « rubygems »
nécessite 'votreapp.rb'
exécuter l'application
et enfin, démarrez l'application à l'aide d'un fichier batch ou à partir de votre invite shell :
rackup -s thin config.ru
Je ne pouvais pas reproduire sur 1.0. Veuillez rouvrir si le problème persiste. Merci
Je reçois ce problème. Mon code peut être simplifié jusqu'à ceci, et produit toujours le problème :
require 'sinatra'
class MyServer < Sinatra::Base
get '/test' do
'Hello world!'
end
run! if app_file == $0
end
Je cours dans le terminal avec ruby my_server.rb
. Si je supprime la ligne run
, alors il ne faut ctrl+c qu'une seule fois pour s'arrêter, mais le point de terminaison n'est pas appelé, affichant à la place cette erreur :
[28/mai/2016:20:37:15 +0100] "GET /test HTTP/1.1" 404 466 0,0005
C'est parce que j'ai importé sinatra
, au lieu de sinatra/base
Commentaire le plus utile
C'est parce que j'ai importé
sinatra
, au lieu desinatra/base