37 lines
779 B
TypeScript
37 lines
779 B
TypeScript
import createServices from './src/services';
|
|
import createLog from './src/log';
|
|
import { Events } from './src/events';
|
|
|
|
async function start() {
|
|
const log = createLog();
|
|
|
|
process.on('uncaughtException', (err, origin) => {
|
|
log.error({ err, origin }, 'uncaughtException');
|
|
process.exit(1);
|
|
});
|
|
|
|
process.on('unhandledRejection', (reason, promise) => {
|
|
log.error({ reason, promise }, 'unhandledRejection');
|
|
process.exit(1);
|
|
});
|
|
|
|
process.on('SIGTERM', () => {
|
|
log.debug('SIGTERM received, exiting');
|
|
process.exit(0);
|
|
});
|
|
|
|
const {
|
|
prisma,
|
|
pg,
|
|
discogs,
|
|
api,
|
|
events,
|
|
} = createServices(log);
|
|
|
|
events.emit(Events.StartupSync);
|
|
|
|
await api.listen();
|
|
}
|
|
|
|
start();
|