commit: 16cd648181f892b075b0be9bb9941f9a28b25ee2
parent: 53b21ac1cde533c068f3b3efad7ab8ba70a0dad2
Author: Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
Date: Sat, 22 Apr 2017 02:24:31 +0900
Allow to listen Unix socket (#2085)
* 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.
Diffstat:
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/config/puma.rb b/config/puma.rb
@@ -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 }
diff --git a/streaming/index.js b/streaming/index.js
@@ -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()
+ }
}