Script to restart webrick

bala Paranj wrote:

Enjoy this little script to restart webrick:

I do that like this:

def croakServer(server, response)     response.status = 200     response['Content-Type'] = "text/html"

    response.body = '<html><head><title>Shutting Down</title></head>                         <body>Shutting down MiniWikiRuby...</body></html>'

    server.shutdown() end

def bounceServer(server, response)     response.status = 200     response['Content-Type'] = "text/html"

    response.body = '<html><head><title>Bouncing</title></head>                         <body>Bouncing MiniWikiRuby...</body></html>'

    server.shutdown()     launch("ruby miniWiki.rb " + ARGV.join(' ')) end

    if 80 != port then         server.mount_proc '/croak' do |request, response|             croakServer(server, response)         end

        server.mount_proc '/bounce' do |request, response|             bounceServer(server, response)         end     end

If you mount Webrick on a non-public port, it exposes two "actions", croak and bounce. They croak and bounce, respectively.

From a script, you can simply croak your server with

  wget http://localhost:8080/croak

My (non-Rails) tests bounce a lite server when they start, using Net::HTTP for the wget role.