После установки требований: ./dev/setup.sh
./dev/startup.sh
Чтобы запустить все в режиме разработки:
При первом запуске ./dev/startup.sh
производитель будет распространять каналы в ./packages/producer/src/producer.ts
для заполнения базы данных.
По умолчанию в режиме разработки video-worker
запускается с Pm2 с 3 экземплярами. Это позволяет избежать спама в журналах разработки со всеми другими сервисами.
Чтобы получить журналы video-worker
запустите pm2 monit
, вы сможете проверить каждый экземпляр.
Каждую службу можно найти в разделе ./packages
.
У каждого есть определенная роль.
ElasticSearch, Kibana, Redis и Redis Commander запускаются с помощью docker-compose
, см. ./docker/dev.yaml
Производитель отправит новый канал на слом в очередь Channel Redis .
lerna run --scope @findmytube/producer dev --stream
Работник канала возьмет канал из очереди Channel Redis , а затем получит видео канала и отправит его в очередь Video Redus .
lerna run --scope @findmytube/channel-worker dev --stream
Video Worker возьмет видео из очереди Video Redis , затем удалит каждую расшифровку каждого видео и сохранит их в ElasticSearch.
lerna run --scope @findmytube/video-worker dev --stream
Замените dev
на start
, чтобы иметь один экземпляр video-worker
и получать журналы прямо со своего терминала без Pm2.
Это cronjob (для производства), который заставляет другие службы удалять новое видео каждого уже сохраненного канала.
lerna run --scope @findmytube/cron-channel-producer dev --stream