This repository has no description
1// IMPORTANT: Import instrument.ts first to initialize Sentry as early as possible
2import './instrument';
3
4import { configService } from './shared/infrastructure/config';
5import { AppProcess } from './shared/infrastructure/processes/AppProcess';
6import { FeedWorkerProcess } from './shared/infrastructure/processes/FeedWorkerProcess';
7import { InMemoryEventWorkerProcess } from './shared/infrastructure/processes/InMemoryEventWorkerProcess';
8
9async function main() {
10 const appProcess = new AppProcess(configService);
11
12 // Start the app process
13 await appProcess.start();
14
15 // Only start event worker in same process when using in-memory events
16 const useInMemoryEvents = configService.shouldUseInMemoryEvents();
17 if (useInMemoryEvents) {
18 console.log('Starting in-memory event worker in the same process...');
19 const inMemoryWorkerProcess = new InMemoryEventWorkerProcess(configService);
20 await inMemoryWorkerProcess.start();
21 } else {
22 console.log('Using external worker processes for event handling');
23 }
24}
25
26main().catch((error) => {
27 console.error('Failed to start application:', error);
28 process.exit(1);
29});