worker.ts 1.0 KB

1234567891011121314151617181920212223242526272829
  1. import 'reflect-metadata'
  2. import { Logger } from 'winston'
  3. import TYPES from '../src/Bootstrap/Types'
  4. import { Env } from '../src/Bootstrap/Env'
  5. import { DomainEventSubscriberFactoryInterface } from '@standardnotes/domain-events'
  6. import { ContainerConfigLoader } from '../src/Bootstrap/Container'
  7. import { OpenTelemetrySDKInterface } from '@standardnotes/domain-events-infra'
  8. const container = new ContainerConfigLoader('worker')
  9. void container.load().then((container) => {
  10. const env: Env = new Env()
  11. env.load()
  12. const logger: Logger = container.get(TYPES.Revisions_Logger)
  13. logger.info('Starting worker...')
  14. if (!container.get<boolean>(TYPES.Revisions_IS_CONFIGURED_FOR_HOME_SERVER_OR_SELF_HOSTING)) {
  15. const openTelemetrySDK = container.get<OpenTelemetrySDKInterface>(TYPES.Revisions_OpenTelemetrySDK)
  16. openTelemetrySDK.start()
  17. }
  18. const subscriberFactory: DomainEventSubscriberFactoryInterface = container.get(
  19. TYPES.Revisions_DomainEventSubscriberFactory,
  20. )
  21. subscriberFactory.create().start()
  22. })