浏览代码

Support UNIX domain socket for streaming service without using PORT (#8217)

* Support UNIX domain socket for streaming service without using PORT

The use of UNIX domain socket for streaming service was not officially supported,
but it was made unofficial to use by setting a path to PORT.
From now on, SOCKET will be used just like setting for puma.

* Hundle relative path
master
MIYAGI Hikaru 5 年前
committed by Eugen Rochko
父节点
当前提交
a083604d1d
共有 1 个文件被更改,包括 14 次插入3 次删除
  1. +14
    -3
      streaming/index.js

+ 14
- 3
streaming/index.js 查看文件

@@ -9,6 +9,7 @@ const log = require('npmlog');
const url = require('url');
const WebSocket = require('uws');
const uuid = require('uuid');
const fs = require('fs');

const env = process.env.NODE_ENV || 'development';

@@ -70,6 +71,9 @@ const redisUrlToClient = (defaultConfig, redisUrl) => {
const numWorkers = +process.env.STREAMING_CLUSTER_NUM || (env === 'development' ? 1 : Math.max(os.cpus().length - 1, 1));

const startMaster = () => {
if (!process.env.SOCKET && process.env.PORT && isNaN(+process.env.PORT)) {
log.warn('UNIX domain socket is now supported by using SOCKET. Please migrate from PORT hack.');
}
log.info(`Starting streaming API server master with ${numWorkers} workers`);
};

@@ -574,9 +578,16 @@ const startWorker = (workerId) => {
});
}, 30000);

server.listen(process.env.PORT || 4000, process.env.BIND || '0.0.0.0', () => {
log.info(`Worker ${workerId} now listening on ${server.address().address}:${server.address().port}`);
});
if (process.env.SOCKET || process.env.PORT && isNaN(+process.env.PORT)) {
server.listen(process.env.SOCKET || process.env.PORT, () => {
fs.chmodSync(server.address(), 0o666);
log.info(`Worker ${workerId} now listening on ${server.address()}`);
});
} else {
server.listen(+process.env.PORT || 4000, process.env.BIND || '0.0.0.0', () => {
log.info(`Worker ${workerId} now listening on ${server.address().address}:${server.address().port}`);
});
}

const onExit = () => {
log.info(`Worker ${workerId} exiting, bye bye`);


正在加载...
取消
保存