Files
standardnotes-server/packages/syncing-server/bin/worker.ts
T

32 lines
1.0 KiB
TypeScript

import 'reflect-metadata'
import { Logger } from 'winston'
import TYPES from '../src/Bootstrap/Types'
import { Env } from '../src/Bootstrap/Env'
import { DomainEventSubscriberFactoryInterface } from '@standardnotes/domain-events'
import { ContainerConfigLoader } from '../src/Bootstrap/Container'
import { OpenTelemetrySDKInterface } from '@standardnotes/domain-events-infra'
const container = new ContainerConfigLoader('worker')
void container.load().then((container) => {
const env: Env = new Env()
env.load()
const logger: Logger = container.get(TYPES.Sync_Logger)
if (!container.get<boolean>(TYPES.Sync_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING)) {
logger.info('Starting OpenTelemetry SDK...')
const openTelemetrySDK = container.get<OpenTelemetrySDKInterface>(TYPES.Sync_OpenTelemetrySDK)
openTelemetrySDK.start()
}
const subscriberFactory: DomainEventSubscriberFactoryInterface = container.get(
TYPES.Sync_DomainEventSubscriberFactory,
)
logger.info('Starting worker...')
subscriberFactory.create().start()
})