Remove handling of SIGTERM
New version of socket.io cannot terminate cleanly when there are active connections: https://github.com/socketio/socket.io/issues/1602
This commit is contained in:
parent
c373b23f9b
commit
e1b7283a94
17
src/index.ts
17
src/index.ts
@ -3,21 +3,12 @@ if (!process.env.DEBUG) {
|
|||||||
process.env.DEBUG = 'peercalls'
|
process.env.DEBUG = 'peercalls'
|
||||||
}
|
}
|
||||||
|
|
||||||
import app from './server/app'
|
|
||||||
import _debug from 'debug'
|
import _debug from 'debug'
|
||||||
|
import forEach from 'lodash/forEach'
|
||||||
|
import { io } from './server/app'
|
||||||
|
import app from './server/app'
|
||||||
|
|
||||||
const debug = _debug('peercalls')
|
const debug = _debug('peercalls')
|
||||||
|
|
||||||
const port = process.env.PORT || 3000
|
const port = process.env.PORT || 3000
|
||||||
const server = app.listen(port, () => debug('Listening on: %s', port))
|
app.listen(port, () => debug('Listening on: %s', port))
|
||||||
|
|
||||||
function close () {
|
|
||||||
debug('Closing server...')
|
|
||||||
server.close(() => {
|
|
||||||
debug('Bye!')
|
|
||||||
process.exit()
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
process.on('SIGINT', close)
|
|
||||||
process.on('SIGTERM', close)
|
|
||||||
|
|||||||
@ -17,7 +17,7 @@ debug(`WebSocket URL: ${SOCKET_URL}`)
|
|||||||
|
|
||||||
const app = express()
|
const app = express()
|
||||||
const server = createServer(config, app)
|
const server = createServer(config, app)
|
||||||
const io = SocketIO(server, { path: SOCKET_URL })
|
export const io = SocketIO(server, { path: SOCKET_URL })
|
||||||
|
|
||||||
app.set('x-powered-by', false)
|
app.set('x-powered-by', false)
|
||||||
app.locals.version = require('../../package.json').version
|
app.locals.version = require('../../package.json').version
|
||||||
|
|||||||
@ -1,11 +1,12 @@
|
|||||||
import express from 'express'
|
import express from 'express'
|
||||||
import http from 'http'
|
import http, { RequestListener } from 'http'
|
||||||
import https from 'https'
|
import https from 'https'
|
||||||
import { createServer } from './server'
|
import { createServer } from './server'
|
||||||
|
|
||||||
describe('server', () => {
|
describe('server', () => {
|
||||||
|
|
||||||
let app: Express.Application, config: any
|
let app: RequestListener
|
||||||
|
let config: any
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
config = {}
|
config = {}
|
||||||
app = express()
|
app = express()
|
||||||
|
|||||||
@ -1,16 +1,18 @@
|
|||||||
import { readFileSync } from 'fs'
|
import { readFileSync } from 'fs'
|
||||||
import { resolve, join } from 'path'
|
import { resolve, join } from 'path'
|
||||||
import { Config } from './config'
|
import { Config } from './config'
|
||||||
|
import { createServer as createHTTPSServer } from 'https'
|
||||||
|
import { createServer as createHTTPServer, RequestListener } from 'http'
|
||||||
|
|
||||||
const projectRoot = resolve(join(__dirname, '../..'))
|
const projectRoot = resolve(join(__dirname, '../..'))
|
||||||
|
|
||||||
const readFile = (file: string) => readFileSync(resolve(projectRoot, file))
|
const readFile = (file: string) => readFileSync(resolve(projectRoot, file))
|
||||||
|
|
||||||
export function createServer (config: Config, app: Express.Application) {
|
export function createServer (config: Config, app: RequestListener) {
|
||||||
if (config.ssl) {
|
if (config.ssl) {
|
||||||
const key = readFile(config.ssl.key)
|
const key = readFile(config.ssl.key)
|
||||||
const cert = readFile(config.ssl.cert)
|
const cert = readFile(config.ssl.cert)
|
||||||
return require('https').createServer({ key, cert }, app)
|
return createHTTPSServer({ key, cert }, app)
|
||||||
}
|
}
|
||||||
return require('http').createServer(app)
|
return createHTTPServer(app)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user