worker.ts 807 B

12345678910111213141516171819202122232425262728
  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 { DomainEventSubscriberInterface } from '@standardnotes/domain-events'
  6. import { ContainerConfigLoader } from '../src/Bootstrap/Container'
  7. const container = new ContainerConfigLoader('worker')
  8. void container.load().then((container) => {
  9. const env: Env = new Env()
  10. env.load()
  11. const logger: Logger = container.get(TYPES.Sync_Logger)
  12. logger.info('Starting worker...')
  13. const subscriber = container.get<DomainEventSubscriberInterface>(TYPES.Sync_DomainEventSubscriber)
  14. process.on('SIGTERM', () => {
  15. logger.info('SIGTERM received. Stopping worker...')
  16. subscriber.stop()
  17. logger.info('Worker stopped.')
  18. })
  19. subscriber.start()
  20. })