worker.ts 997 B

1234567891011121314151617181920212223242526272829303132
  1. import 'reflect-metadata'
  2. import { Logger } from 'winston'
  3. import * as AWSXRay from 'aws-xray-sdk'
  4. import TYPES from '../src/Bootstrap/Types'
  5. import { Env } from '../src/Bootstrap/Env'
  6. import { DomainEventSubscriberFactoryInterface } from '@standardnotes/domain-events'
  7. import { ContainerConfigLoader } from '../src/Bootstrap/Container'
  8. const container = new ContainerConfigLoader('worker')
  9. void container.load().then((container) => {
  10. const env: Env = new Env()
  11. env.load()
  12. const isConfiguredForAWSProduction =
  13. env.get('MODE', true) !== 'home-server' && env.get('MODE', true) !== 'self-hosted'
  14. if (isConfiguredForAWSProduction) {
  15. AWSXRay.enableManualMode()
  16. AWSXRay.config([AWSXRay.plugins.ECSPlugin])
  17. }
  18. const logger: Logger = container.get(TYPES.Sync_Logger)
  19. logger.info('Starting worker...')
  20. const subscriberFactory: DomainEventSubscriberFactoryInterface = container.get(
  21. TYPES.Sync_DomainEventSubscriberFactory,
  22. )
  23. subscriberFactory.create().start()
  24. })