要件をインストールしたら: ./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 Commander はdocker-compose
で実行されます。 ./docker/dev.yaml
を参照してください。
プロデューサーは、スクラップする新しいチャネルをChannel Redis Queueに送信します。
lerna run --scope @findmytube/producer dev --stream
チャネル ワーカーはチャネル Redis キューからチャネルを取得し、チャネルのビデオを取得してVideo Redus キューに送信します。
lerna run --scope @findmytube/channel-worker dev --stream
Video Worker はVideo Redis Queueからビデオを取得し、各ビデオの各トランスクリプトをスクラップして ElasticSearch に保存します。
lerna run --scope @findmytube/video-worker dev --stream
dev
start
に置き換えて、 video-worker
の 1 つのインスタンスを作成し、 Pm2なしで端末からログを直接取得します。
これは、すでに保存されている各チャンネルの新しいビデオを他のサービスに強制的にスクラップさせるための (本番用の) cron ジョブです。
lerna run --scope @findmytube/cron-channel-producer dev --stream