]> cat aescling's git repositories - mastodon.git/commitdiff
Allow to listen Unix socket (#2085)
authorAkihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
Fri, 21 Apr 2017 17:24:31 +0000 (02:24 +0900)
committerEugen <eugen@zeonfederated.com>
Fri, 21 Apr 2017 17:24:31 +0000 (19:24 +0200)
* Allow puma to listen Unix socket

* streaming: Show the whole listening address instead of the port

Port is not always appropriate (e.g. Unix socket)

* streaming: Close server before exiting

This change especially allows to remove Unix socket before exiting.

config/puma.rb
streaming/index.js

index 7586536f44910dd88e8da63297d60d173b186449..eb8fc6a8e9b636c6dd972d603feb8c9f2d18dbce 100644 (file)
@@ -1,6 +1,10 @@
 threads_count = ENV.fetch('MAX_THREADS') { 5 }.to_i
 threads threads_count, threads_count
 
+if ENV['SOCKET'] then
+  bind 'unix://' + ENV['SOCKET']
+end
+
 port        ENV.fetch('PORT') { 3000 }
 environment ENV.fetch('RAILS_ENV') { 'development' }
 workers     ENV.fetch('WEB_CONCURRENCY') { 2 }
index 8395c9cf8e77710b1031944df9d74969b336aacb..c7959b3069e02f7b4f5b5fada1d7b8d0fe494f8e 100644 (file)
@@ -328,6 +328,14 @@ if (cluster.isMaster) {
 
   server.listen(process.env.PORT || 4000, () => {
     log.level = process.env.LOG_LEVEL || 'verbose'
-    log.info(`Starting streaming API server worker on port ${server.address().port}`)
+    log.info(`Starting streaming API server worker on ${server.address()}`)
   })
+
+  process.on('SIGINT', exit)
+  process.on('SIGTERM', exit)
+  process.on('exit', exit)
+
+  function exit() {
+    server.close()
+  }
 }