mirror of
https://github.com/directus/directus.git
synced 2026-04-03 03:00:39 -04:00
Move start functionality to server.ts
This commit is contained in:
@@ -1,27 +1,5 @@
|
||||
import logger from '../../logger';
|
||||
import emitter from '../../emitter';
|
||||
|
||||
export default async function start() {
|
||||
const env = require('../../env').default;
|
||||
const { validateDBConnection } = require('../../database');
|
||||
await validateDBConnection();
|
||||
const port = env.PORT;
|
||||
const startServer = require('../../server').start;
|
||||
|
||||
const server = require('../../server').default;
|
||||
|
||||
await emitter.emitAsync('server.start.before', { server });
|
||||
|
||||
server
|
||||
.listen(port, () => {
|
||||
logger.info(`Server started at port ${port}`);
|
||||
emitter.emitAsync('server.start').catch((err) => logger.warn(err));
|
||||
})
|
||||
.once('error', (err: any) => {
|
||||
if (err?.code === 'EADDRINUSE') {
|
||||
logger.fatal(`Port ${port} is already in use`);
|
||||
process.exit(1);
|
||||
} else {
|
||||
throw err;
|
||||
}
|
||||
});
|
||||
await startServer();
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import server from './server';
|
||||
import logger from './logger';
|
||||
import { start } from './server';
|
||||
|
||||
server.listen(8055, () => logger.info(`Dev server started at port ${8055}`));
|
||||
start();
|
||||
|
||||
@@ -2,8 +2,9 @@ import logger from './logger';
|
||||
import { createTerminus, TerminusOptions } from '@godaddy/terminus';
|
||||
import http from 'http';
|
||||
import emitter from './emitter';
|
||||
import database from './database';
|
||||
import database, { validateDBConnection } from './database';
|
||||
import app from './app';
|
||||
import env from './env';
|
||||
|
||||
const server = http.createServer(app);
|
||||
|
||||
@@ -20,6 +21,27 @@ createTerminus(server, terminusOptions);
|
||||
|
||||
export default server;
|
||||
|
||||
export async function start() {
|
||||
await validateDBConnection();
|
||||
await emitter.emitAsync('server.start.before', { server });
|
||||
|
||||
const port = env.PORT;
|
||||
|
||||
server
|
||||
.listen(port, () => {
|
||||
logger.info(`Server started at port ${port}`);
|
||||
emitter.emitAsync('server.start').catch((err) => logger.warn(err));
|
||||
})
|
||||
.once('error', (err: any) => {
|
||||
if (err?.code === 'EADDRINUSE') {
|
||||
logger.fatal(`Port ${port} is already in use`);
|
||||
process.exit(1);
|
||||
} else {
|
||||
throw err;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async function beforeShutdown() {
|
||||
await emitter.emitAsync('server.stop.before', { server });
|
||||
|
||||
|
||||
Reference in New Issue
Block a user