Browse Source

(spider-gazelle) terminate gracefully in docker (#4177)

Stephen von Takach 6 years ago
parent
commit
b581379567
1 changed files with 6 additions and 2 deletions
  1. 6 2
      frameworks/Crystal/spider-gazelle/src/app.cr

+ 6 - 2
frameworks/Crystal/spider-gazelle/src/app.cr

@@ -42,13 +42,17 @@ server = ActionController::Server.new(port, host)
 # Start clustering
 server.cluster(process_count, "-w", "--workers") if cluster
 
-# Detect ctr-c to shutdown gracefully
-Signal::INT.trap do |signal|
+terminate = Proc(Signal, Nil).new do |signal|
   puts " > terminating gracefully"
   spawn { server.close }
   signal.ignore
 end
 
+# Detect ctr-c to shutdown gracefully
+Signal::INT.trap &terminate
+# Docker containers use the term signal
+Signal::TERM.trap &terminate
+
 # Start the server
 server.run do
   puts "Listening on #{server.print_addresses}"