加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – Sinatra在ctrl-c之后重新启动Webrick Server

发布时间:2020-12-17 03:05:09 所属栏目:百科 来源:网络整理
导读:require 'sinatra'require 'rubygems'class TestServer Sinatra::Applicationset :port,22340 get '/' do "Hello World" end run! if app_file == $0end Ruby 2.0.0-p0和Sinatra 1.4.2的非常简单的应用程序 当我按ctrl-c时webrick服务器在默认端口上重新启动
require 'sinatra'
require 'rubygems'

class TestServer < Sinatra::Application
set :port,22340
    get '/' do
        "Hello World"
    end
    run! if app_file == $0
end

Ruby 2.0.0-p0和Sinatra 1.4.2的非常简单的应用程序

当我按ctrl-c时webrick服务器在默认端口上重新启动…请参阅下面的输出

LM-BOS-00715009:server joshughes$ruby test.rb 
[2013-04-19 16:07:48] INFO  WEBrick 1.3.1
[2013-04-19 16:07:48] INFO  ruby 2.0.0 (2013-02-24) [x86_64-darwin11.4.2]
== Sinatra/1.4.2 has taken the stage on 22340 for development with backup from WEBrick
[2013-04-19 16:07:48] INFO  WEBrick::HTTPServer#start: pid=63798 port=22340
^C
== Sinatra has ended his set (crowd applauds)
[2013-04-19 16:07:56] INFO  going to shutdown ...
[2013-04-19 16:07:56] INFO  WEBrick::HTTPServer#start done.
[2013-04-19 16:07:56] INFO  WEBrick 1.3.1
[2013-04-19 16:07:56] INFO  ruby 2.0.0 (2013-02-24) [x86_64-darwin11.4.2]
== Sinatra/1.4.2 has taken the stage on 4567 for development with backup from WEBrick
[2013-04-19 16:07:56] INFO  WEBrick::HTTPServer#start: pid=63798 port=4567
^C

任何人都可以帮我解决可能出现的问题吗?

解决方法

问题是你没有正确使用 Sinatra modular style.而不是要求sinatra和继承Sinatra :: Application你应该需要sinatra / base并继承Sinatra :: Base.

这是怎么回事.你需要简单的sinatra,而sinatra又需要sinatra / main.此文件为adds an at_exit handler that runs the built in server(除非您禁用它).但是你也明确地调用了run!在您自己的代码中,因此服务器因您的调用而启动,然后当您退出时,at_exit处理程序再次启动服务器.要求sinatra / base不会在退出时启动内置服务器,因此您只能拥有自己的显式调用来运行!

require 'sinatra/base' # change here
require 'rubygems'

class TestServer < Sinatra::Base # and here
  set :port,22340
  get '/' do
    "Hello World"
  end
  run! if app_file == $0
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读