clash-linux commited on
Commit
a1a1f4d
·
verified ·
1 Parent(s): ff9409f

Upload 38 files

Browse files
Files changed (2) hide show
  1. entrypoint.sh +5 -3
  2. requirements.txt +8 -8
entrypoint.sh CHANGED
@@ -84,24 +84,26 @@ if [ -z "$API_KEY" ]; then
84
  fi
85
 
86
  # 启动Flask应用
87
- echo -e "${GREEN}Starting Flask application...${NC}"
88
 
89
  if [ -n "$WORKERS" ]; then
90
- echo "Using $WORKERS workers"
91
  DEFAULT_WORKERS="$WORKERS"
92
  else
93
  # 计算合适的worker数量 (默认根据CPU数量,但最少2个,最多17个)
94
  DEFAULT_WORKERS=$(($(nproc) * 2 + 1))
95
  [ $DEFAULT_WORKERS -lt 2 ] && DEFAULT_WORKERS=2
96
  [ $DEFAULT_WORKERS -gt 17 ] && DEFAULT_WORKERS=17
97
- echo "Using $DEFAULT_WORKERS workers"
98
  fi
99
 
100
  # 增加超时时间,确保长连接能正常工作
101
  # 增加记录器配置使错误更容易诊断
 
102
  cd /app && gunicorn \
103
  --bind 0.0.0.0:${FLASK_PORT} \
104
  --workers ${DEFAULT_WORKERS} \
 
105
  --timeout 300 \
106
  --access-logfile - \
107
  --error-logfile - \
 
84
  fi
85
 
86
  # 启动Flask应用
87
+ echo -e "${GREEN}Starting Flask application with gevent worker for WebSocket support...${NC}"
88
 
89
  if [ -n "$WORKERS" ]; then
90
+ echo "Using $WORKERS workers (user defined)"
91
  DEFAULT_WORKERS="$WORKERS"
92
  else
93
  # 计算合适的worker数量 (默认根据CPU数量,但最少2个,最多17个)
94
  DEFAULT_WORKERS=$(($(nproc) * 2 + 1))
95
  [ $DEFAULT_WORKERS -lt 2 ] && DEFAULT_WORKERS=2
96
  [ $DEFAULT_WORKERS -gt 17 ] && DEFAULT_WORKERS=17
97
+ echo "Using $DEFAULT_WORKERS workers (auto calculated)"
98
  fi
99
 
100
  # 增加超时时间,确保长连接能正常工作
101
  # 增加记录器配置使错误更容易诊断
102
+ # 指定 -k gevent 来使用 gevent 工作进程,支持 WebSocket
103
  cd /app && gunicorn \
104
  --bind 0.0.0.0:${FLASK_PORT} \
105
  --workers ${DEFAULT_WORKERS} \
106
+ -k gevent \
107
  --timeout 300 \
108
  --access-logfile - \
109
  --error-logfile - \
requirements.txt CHANGED
@@ -1,9 +1,9 @@
1
- flask==2.0.1
2
- gunicorn==20.1.0
3
- requests==2.28.1
4
- Werkzeug==2.0.1
5
- PyYAML==6.0.1
6
- # pyyaml==6.0 # 已通过 apk 安装
7
- # 添加与 Flask==2.0.1 兼容的版本
8
- flask-sockets
9
  gevent
 
1
+ flask==2.0.1
2
+ gunicorn==20.1.0
3
+ requests==2.28.1
4
+ Werkzeug==2.0.1
5
+ PyYAML==6.0.1
6
+ # pyyaml==6.0 # 已通过 apk 安装
7
+ # 添加与 Flask==2.0.1 兼容的版本
8
+ flask-sockets
9
  gevent