Sinatra: Sinatra nécessite CTRL + C deux fois pour s'arrêter

Créé le 16 mars 2010  ·  5Commentaires  ·  Source: sinatra/sinatra

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

Commentaire le plus utile

C'est parce que j'ai importé sinatra , au lieu de sinatra/base

Tous les 5 commentaires

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

Cette page vous a été utile?
0 / 5 - 0 notes