요구 사항을 설치한 후: ./dev/setup.sh
./dev/startup.sh
개발 모드에서 모든 것을 시작하려면:
./dev/startup.sh
처음 실행하면 생산자는 ./packages/producer/src/producer.ts
아래의 채널을 전파하여 데이터베이스를 채웁니다.
기본적으로 개발 모드에서 video-worker
3개의 인스턴스가 있는 Pm2 와 함께 시작됩니다. 다른 모든 서비스에서 개발 로그를 스팸으로 보내는 것을 방지합니다.
video-worker
로그를 얻으려면 pm2 monit
실행하세요. 각 인스턴스를 검사할 수 있습니다.
각 서비스는 ./packages
에서 찾을 수 있습니다.
각각은 특정한 역할을 가지고 있습니다.
ElasticSearch, Kibana, Redis 및 Redis 커맨더는 docker-compose
로 실행됩니다. ./docker/dev.yaml
참조하세요.
생산자는 스크랩할 새 채널을 채널 Redis 대기열 로 보냅니다.
lerna run --scope @findmytube/producer dev --stream
채널 작업자는 채널 Redis 대기열 에서 채널을 가져온 다음 채널의 비디오를 가져와서 Video Redus 대기열 로 보냅니다.
lerna run --scope @findmytube/channel-worker dev --stream
비디오 작업자는 비디오 Redis 대기열 에서 비디오를 가져온 다음 각 비디오의 각 기록을 스크랩하여 ElasticSearch에 저장합니다.
lerna run --scope @findmytube/video-worker dev --stream
하나의 video-worker
인스턴스를 갖고 Pm2 없이 터미널에서 바로 로그를 가져오려면 dev
start
로 교체하세요.
다른 서비스에서 이미 저장된 각 채널의 새 비디오를 스크랩하도록 강제하는 것은 cronjob(제작용)입니다.
lerna run --scope @findmytube/cron-channel-producer dev --stream