3.0 KiB
3.0 KiB
作成
LocalTicketBackend によって作成されました。
Intake summary
Marked ready by yoi ticket state.
State changed
Marked ready by yoi ticket state.
State changed
Ticket を yoi ticket が queued にしました。
State changed
State changed to inprogress.
Implementation report
script/dev-workspace.sh ではなく repository root の scripts/dev-workspace.sh として開発 process 管理 script を追加した。
実装内容:
start/stop/restart/statusaction を追加。startは runtime, backend, frontend をこの checkout から起動する。stopは runtime, backend, frontend を止める。restartは frontend を触らず、runtime/backend だけ止めて起動し直す。- frontend は既定で
0.0.0.0:5173bind。 - backend は既定で
127.0.0.1:8787、runtime は127.0.0.1:38800。 - pid/log は
.yoi/dev/{pids,logs}に保存し、.gitignoreに/.yoi/devを追加。 - 既存 listener がいる場合、port listener PID を止めてからこの checkout の process を起動する。
- managed process は pidfile の pid/process group を使って止める。pidfile 管理外の既存 listener は、caller の process group を巻き込まないよう PID 単位で止める。
確認:
bash -n scripts/dev-workspace.shscripts/dev-workspace.sh --helpscripts/dev-workspace.sh statusgit diff --check
実行しなかったこと:
scripts/dev-workspace.sh startscripts/dev-workspace.sh stopscripts/dev-workspace.sh restart
理由:
- 現在の worker 自体が既存 backend/runtime/frontend process 群に依存している可能性があり、停止・再起動するとこのセッションが落ちるため。
現状確認:
- frontend listener pid は
/home/hare/Projects/yoi/web/workspace由来。 - backend/runtime listener pid は
/home/hare/Projects/yoi由来。
State changed
Ticket を closed にしました。
完了
Added scripts/dev-workspace.sh with start/stop/restart/status. Start moves runtime/backend/frontend to this checkout, frontend binds 0.0.0.0, restart intentionally leaves frontend untouched. Runtime files are kept under ignored .yoi/dev/.