fix: add controlled service restart console
This commit is contained in:
22
planet.sh
22
planet.sh
@@ -168,6 +168,7 @@ parse_service_args() {
|
||||
FRONTEND_PORT="$DEFAULT_FRONTEND_PORT"
|
||||
BACKEND_PORT_REQUESTED=0
|
||||
FRONTEND_PORT_REQUESTED=0
|
||||
DATABASE_REQUESTED=0
|
||||
|
||||
while [ "$#" -gt 0 ]; do
|
||||
case "$1" in
|
||||
@@ -189,6 +190,10 @@ parse_service_args() {
|
||||
shift 1
|
||||
fi
|
||||
;;
|
||||
-d|--database)
|
||||
DATABASE_REQUESTED=1
|
||||
shift 1
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}❌ 未知参数: $1${NC}"
|
||||
exit 1
|
||||
@@ -219,6 +224,12 @@ stop_frontend_service() {
|
||||
pkill -f "bun run dev" 2>/dev/null || true
|
||||
}
|
||||
|
||||
restart_database_service() {
|
||||
echo -e "${BLUE}🗄️ 重启数据库...${NC}"
|
||||
docker restart planet_postgres planet_redis 2>/dev/null || docker-compose up -d postgres redis
|
||||
sleep 3
|
||||
}
|
||||
|
||||
start_backend_service() {
|
||||
local backend_port="$1"
|
||||
local backend_port_requested="$2"
|
||||
@@ -389,7 +400,7 @@ restart() {
|
||||
parse_service_args "$@"
|
||||
cleanup_exit_containers
|
||||
|
||||
if [ "$BACKEND_PORT_REQUESTED" -eq 0 ] && [ "$FRONTEND_PORT_REQUESTED" -eq 0 ]; then
|
||||
if [ "$BACKEND_PORT_REQUESTED" -eq 0 ] && [ "$FRONTEND_PORT_REQUESTED" -eq 0 ] && [ "$DATABASE_REQUESTED" -eq 0 ]; then
|
||||
stop
|
||||
sleep 1
|
||||
start
|
||||
@@ -398,6 +409,10 @@ restart() {
|
||||
|
||||
echo -e "${YELLOW}🔄 按需重启服务...${NC}"
|
||||
|
||||
if [ "$DATABASE_REQUESTED" -eq 1 ]; then
|
||||
restart_database_service
|
||||
fi
|
||||
|
||||
if [ "$BACKEND_PORT_REQUESTED" -eq 1 ]; then
|
||||
stop_backend_service
|
||||
sleep 1
|
||||
@@ -412,6 +427,9 @@ restart() {
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}✅ 重启完成!${NC}"
|
||||
if [ "$DATABASE_REQUESTED" -eq 1 ]; then
|
||||
echo " 数据库: planet_postgres, planet_redis"
|
||||
fi
|
||||
if [ "$BACKEND_PORT_REQUESTED" -eq 1 ]; then
|
||||
echo " 后端: http://localhost:${BACKEND_PORT}"
|
||||
fi
|
||||
@@ -486,7 +504,7 @@ case "$1" in
|
||||
echo "命令:"
|
||||
echo " start 启动服务,可选: -b <后端端口> -f <前端端口>"
|
||||
echo " stop 停止服务"
|
||||
echo " restart 重启服务,可选: -b [后端端口] -f [前端端口]"
|
||||
echo " restart 重启服务,可选: -b [后端端口] -f [前端端口] -d"
|
||||
echo " createuser 交互创建用户"
|
||||
echo " health 检查健康状态"
|
||||
echo " log 查看日志"
|
||||
|
||||
Reference in New Issue
Block a user