From a615548bf13ca517c3d991738cf611f2d6accf08 Mon Sep 17 00:00:00 2001 From: Dylan Thacker-Smith Date: Thu, 19 Jun 2014 02:24:53 -0400 Subject: Close event connections when the server is gracefully shutting down. --- lib/dashing/app.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'lib') diff --git a/lib/dashing/app.rb b/lib/dashing/app.rb index 033849c..800f4c8 100644 --- a/lib/dashing/app.rb +++ b/lib/dashing/app.rb @@ -6,6 +6,7 @@ require 'coffee-script' require 'sass' require 'json' require 'yaml' +require 'thin' SCHEDULER = Rufus::Scheduler.new @@ -119,6 +120,16 @@ get '/views/:widget?.html' do end end +Thin::Server.class_eval do + def stop_with_connection_closing + Sinatra::Application.settings.connections.each(&:close) + stop_without_connection_closing + end + + alias_method :stop_without_connection_closing, :stop + alias_method :stop, :stop_with_connection_closing +end + def send_event(id, body, target=nil) body[:id] = id body[:updatedAt] ||= Time.now.to_i -- cgit v1.2.3