diff --git a/.DS_Store b/.DS_Store index decf492..a1e2bce 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/config.yaml b/config.yaml index e991368..f18ef59 100644 --- a/config.yaml +++ b/config.yaml @@ -7,7 +7,7 @@ path_data: '/data' #path_data: "." # 개발용 플러그인 경로 -path_dev: '/data/plugins' +path_dev: '/Volumes/WD/Users/Work/python/ff_dev_plugins' # gevent 사용여부 # 플러그인 개발이나 termux 환경에서의 실행 같이 특수한 경우에만 false로 사용. diff --git a/flower.sh b/flower.sh new file mode 100755 index 0000000..dd79b04 --- /dev/null +++ b/flower.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# GDS-DViewer Flower Dashboard Startup Script +# This script bypasses main.py to avoid gevent monkey-patch conflicts (infinite loading). + +cd /Volumes/WD/Users/Work/python/flaskfarm + +# Kill existing processes +pkill -f flower + +# Execute integrated startup command +/Users/yommi/.pyenv/versions/FF_3.10/bin/python3 -c "import sys, os; sys.path.append(os.path.join(os.getcwd(), 'lib')); sys.argv=['celery', '--config_filepath=data/config_mac.yaml', '--running_type=local']; from framework import initiaize; celery=initiaize().celery; celery.start(['flower', '--address=0.0.0.0', '--port=5556'])" diff --git a/restart_all.sh b/restart_all.sh new file mode 100755 index 0000000..a182960 --- /dev/null +++ b/restart_all.sh @@ -0,0 +1,83 @@ +#!/bin/bash +# FlaskFarm + Celery 전체 재시작 스크립트 +# 사용법: ./restart_all.sh + +cd /Volumes/WD/Users/Work/python/flaskfarm + +# 색상 정의 +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +echo -e "${YELLOW}========================================${NC}" +echo -e "${YELLOW} FlaskFarm + Celery 전체 재시작${NC}" +echo -e "${YELLOW}========================================${NC}" + +# --------------------------- +# 1. 기존 프로세스 종료 +# --------------------------- +echo -e "\n${RED}[1/4] 기존 프로세스 종료 중...${NC}" + +# FlaskFarm 프로세스 종료 +pkill -9 -f "python main.py" 2>/dev/null +lsof -ti :9099 | xargs kill -9 2>/dev/null +echo " ✓ FlaskFarm 프로세스 종료됨" + +# Celery 워커 종료 +pkill -9 -f "celery.*worker" 2>/dev/null +pkill -9 -f "celery -A flaskfarm" 2>/dev/null +echo " ✓ Celery 워커 종료됨" + +# 잠시 대기 (포트 해제 등) +sleep 2 + +# --------------------------- +# 2. pyenv 초기화 +# --------------------------- +echo -e "\n${GREEN}[2/4] Python 환경 초기화 중...${NC}" +export PYENV_ROOT="$HOME/.pyenv" +export PATH="$PYENV_ROOT/bin:$PATH" +if command -v pyenv &> /dev/null; then + eval "$(pyenv init -)" + eval "$(pyenv virtualenv-init -)" 2>/dev/null +fi +export GEVENT_NOWAITPID=1 +export PYTHONWARNINGS="ignore::DeprecationWarning" +echo " ✓ Python 환경 준비됨" + +# --------------------------- +# 3. Celery 워커 시작 (백그라운드) +# --------------------------- +echo -e "\n${GREEN}[3/4] Celery 워커 시작 중 (백그라운드)...${NC}" + +# 로그 파일 경로 +CELERY_LOG_DIR="data/log" +mkdir -p "$CELERY_LOG_DIR" +CELERY_LOG_FILE="$CELERY_LOG_DIR/celery_worker.log" + +# Celery 워커 시작 +nohup celery -A main.celery worker \ + --loglevel=info \ + --pool=gevent \ + --concurrency=4 \ + --config_filepath=data/config_mac.yaml \ + --running_type=local \ + > "$CELERY_LOG_FILE" 2>&1 & + +CELERY_PID=$! +echo " ✓ Celery 워커 시작됨 (PID: $CELERY_PID)" +echo " ✓ 로그: $CELERY_LOG_FILE" + +# Celery가 시작될 시간 확보 +sleep 2 + +# --------------------------- +# 4. FlaskFarm 시작 (포어그라운드) +# --------------------------- +echo -e "\n${GREEN}[4/4] FlaskFarm 시작 중...${NC}" +echo -e "${YELLOW}========================================${NC}" +echo "" + +# FlaskFarm 시작 (gommi_mac.sh 호출) +./gommi_mac.sh