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.
This commit is contained in:
Akihiko Odaki 2017-04-22 02:24:31 +09:00 committed by Eugen
parent 53b21ac1cd
commit 16cd648181
2 changed files with 13 additions and 1 deletions

View file

@ -1,6 +1,10 @@
threads_count = ENV.fetch('MAX_THREADS') { 5 }.to_i threads_count = ENV.fetch('MAX_THREADS') { 5 }.to_i
threads threads_count, threads_count threads threads_count, threads_count
if ENV['SOCKET'] then
bind 'unix://' + ENV['SOCKET']
end
port ENV.fetch('PORT') { 3000 } port ENV.fetch('PORT') { 3000 }
environment ENV.fetch('RAILS_ENV') { 'development' } environment ENV.fetch('RAILS_ENV') { 'development' }
workers ENV.fetch('WEB_CONCURRENCY') { 2 } workers ENV.fetch('WEB_CONCURRENCY') { 2 }

View file

@ -328,6 +328,14 @@ if (cluster.isMaster) {
server.listen(process.env.PORT || 4000, () => { server.listen(process.env.PORT || 4000, () => {
log.level = process.env.LOG_LEVEL || 'verbose' 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()
}
} }