02
Chapter 02

起動と停止

日常運用での起動・停止コマンドと、6 サービスが正しく上がっているかの確認方法をまとめます。

💡
起動対象サービス

Gateway (8080) / Replay Parser (12345) / Log Monitor (8000) / Map (8001) / Prepare Upload (8002) / Suite Core (8003) の 合計 6 プロセス。フロントエンド(Vite dev :5173)は開発時のみ別途起動します。

1全サービス起動

PowerShell スクリプトで 6 サービスを背景起動します。

powershell
pwsh scripts\start.ps1

出力に 6 サービス分の起動行(PID 付き)が並べば成功です。各サービスは Start-Process -WindowStyle Hidden で背景起動されるため、ターミナル画面には残りません。

start.ps1 で 6 サービスを起動した直後の出力
図 2.1 — start.ps1 の起動ログ(6 サービスの PID 一覧)

2疎通確認

起動直後に Smoke テストで全サービスが応答するかを確認します。

powershell
python scripts\smoke.py

全 6 行が OK、終了コード 0 なら成功です。失敗した行があれば、対応する logs/<service>.err.log を確認してください。

💡
--direct モード

python scripts\smoke.py --direct は Gateway を経由せず、各サービスが自身のポートに bind できているかを直接確認します。Gateway 経由(既定)と比較して切り分けができます。

3フロント開発サーバー

UI を触る場合は Vite の開発サーバーを起動します。本番運用時は Gateway がビルド済みフロントを配信するため、この手順は不要です。

powershell
cd frontend
npm run dev

起動後、Local: http://localhost:5173 が表示されたらブラウザで開きます。HMR(ホットリロード)が効くため、ソース変更が即時反映されます。

npm run dev 起動後の Vite 出力
図 2.2 — Vite 開発サーバー起動 (http://localhost:5173)
⚠️
API は Gateway 経由で叩かれます

Vite dev は /api/* を Gateway (http://localhost:8080) にプロキシする設定です。フロントだけ起動しても、バックエンド側が落ちていると画面はエラーで埋まります。先に start.ps1 を済ませてください。

4稼働状態の確認

6 サービスがいま running かどうかは status.ps1 で一覧できます。

powershell
pwsh scripts\status.ps1

各サービスについて running / not running と PID が出力されます。判定は .run/<service>.pid を読み、その PID が実在するかで行われます。

status.ps1 の出力(全サービス running)
図 2.3 — status.ps1 で全サービス稼働中の状態

5全サービス停止

停止も 1 コマンドで行います。

powershell
pwsh scripts\stop.ps1

6 サービス分の停止行が出力され、.run/*.pid ファイルが削除されます。直後に status.ps1smoke.py を再実行すると、すべてが not running / Connection refused になっていることを確認できます。

stop.ps1 で全サービス停止後の状態
図 2.4 — stop.ps1 の停止ログ

6ログとプロセス管理

各サービスの動作ログ・標準出力・PID は次の場所に保存されます。何か挙動がおかしいときの一次調査ポイントです。

パス内容
logs/<service>.stdout.log サービスの標準出力(uvicorn の起動ログ等)
logs/<service>.err.log 標準エラー(例外・スタックトレース)
logs/<service>.log アプリケーションロガーの構造化ログ
.run/<service>.pid start.ps1 が記録した PID。status.ps1 / stop.ps1 はここを参照
💡
個別サービスの再起動

stop.ps1 + start.ps1 で全停止 → 全起動が一番確実です。特定サービスだけ再起動したい場合は、対応する .run/<service>.pid の PID を Stop-Process で終了させた上で、uvicorn コマンドを直接叩きます(コマンドは 01 章 参照)。

Tweaks
テーマ
Void
Fortniteブルー · モダン
Terminal
グリーン · モノスペース
Copper
ウォームオレンジ · エディトリアル
モード