Une fois que vous avez installé la configuration requise : ./dev/setup.sh
./dev/startup.sh
Pour tout démarrer en mode dev :
La première fois que vous exécutez ./dev/startup.sh
, le producteur propagera les canaux sous ./packages/producer/src/producer.ts
pour remplir la base de données
Par défaut, en mode développement, video-worker
est lancé avec Pm2 avec 3 instances. Cela évite de spammer les journaux de développement avec tous les autres services.
Pour que les journaux video-worker
exécutent pm2 monit
, vous pourrez inspecter chaque instance.
Chaque service peut être trouvé sous ./packages
.
Chacun a un rôle spécifique.
ElasticSearch, Kibana, Redis et Redis Commander sont exécutés avec docker-compose
, voir ./docker/dev.yaml
Le producteur enverra la nouvelle chaîne à supprimer dans la file d'attente Channel Redis .
lerna run --scope @findmytube/producer dev --stream
Channel Worker prendra la chaîne de la file d'attente Channel Redis, puis il récupérera la vidéo de la chaîne pour les envoyer à la file d'attente Video Redus .
lerna run --scope @findmytube/channel-worker dev --stream
Video Worker prendra la vidéo de la file d'attente Video Redis, puis supprimera chaque transcription de chaque vidéo et les enregistrera dans ElasticSearch.
lerna run --scope @findmytube/video-worker dev --stream
Remplacez dev
par start
pour avoir une instance de video-worker
et obtenez les journaux directement depuis votre terminal sans Pm2
C'est une tâche cron (pour la production) pour forcer les autres services à supprimer les nouvelles vidéos de chaque chaîne déjà enregistrées.
lerna run --scope @findmytube/cron-channel-producer dev --stream