Sinatra: Sinatra requer CTRL + C duas vezes para desligar

Criado em 16 mar. 2010  ·  5Comentários  ·  Fonte: sinatra/sinatra

Quando eu executei um pequeno aplicativo sinatra, tenho que pressionar CTRL + C duas vezes para desligá-lo.

 == Sinatra / 1.0.b subiu ao palco em 4567 para desenvolvimento com backup do Thin
 >> Thin web server (v1.2.7 codename No Hup)
 >> Máximo de conexões definido para 1024
 >> Ouvindo em 0.0.0.0:4567, CTRL + C para parar
 ^ C >> Parando ...

 == Sinatra terminou sua apresentação (multidão aplaude)
 == Sinatra / 1.0.b subiu ao palco em 4567 para desenvolvimento com backup do Thin
 >> Thin web server (v1.2.7 codename No Hup)
 >> Máximo de conexões definido para 1024
 >> Ouvindo em 0.0.0.0:4567, CTRL + C para parar
 ^ C >> Parando ...

 == Sinatra terminou sua apresentação (multidão aplaude)

Atualmente estou executando:

ubuntu 9.10 (cármico)
rubygems 1.3.6
ruby 1.9.1p376 (revisão 26041 de 07/12/2009) [i486-linux]
sinatra 1.0.b
fino 1.2.7

Comentários muito úteis

É porque importei sinatra , em vez de sinatra/base

Todos 5 comentários

Acontece para mim ao iniciar um aplicativo de estilo de classe com Application.run no config.ru, por exemplo.

Isso costumava acontecer comigo antes no Cygwin. Definitivamente, tem a ver com a forma como você inicia o aplicativo e o conteúdo do arquivo de rackup. O que eu faço é:

yourapp.rb
classe App < Sinatra: Base
tanto faz ..
fim

config.ru
requer 'rubygems'
requer 'yourapp.rb'
executar aplicativo

e, finalmente, inicie o aplicativo usando um arquivo em lote ou no prompt do shell:

rackup -s thin config.ru

Não consegui reproduzir no 1.0. Abra novamente se isso ainda for um problema. Obrigado

Estou pegando esse problema. Meu código pode ser simplificado para isso e ainda produz o problema:

require 'sinatra'

class MyServer < Sinatra::Base
  get '/test' do
    'Hello world!'
  end

  run! if app_file == $0
end

Estou executando no terminal com ruby my_server.rb . Se eu remover a linha run , ele só requer ctrl + c uma vez para desligar, mas o endpoint não é chamado, em vez de exibir este erro:

[28 / maio / 2016: 20: 37: 15 +0100] "GET / test HTTP / 1.1" 404 466 0,0005

É porque importei sinatra , em vez de sinatra/base

Esta página foi útil?
0 / 5 - 0 avaliações