update pay ui
This commit is contained in:
13
app.py
13
app.py
@@ -1,7 +1,18 @@
|
||||
# ============ Gevent Monkey Patching(必须放在所有 import 之前!)============
|
||||
# 用于支持 Gunicorn + gevent 异步模式,使 requests 等阻塞调用变为非阻塞
|
||||
import os
|
||||
if os.environ.get('GEVENT_SUPPORT', 'true').lower() == 'true':
|
||||
try:
|
||||
from gevent import monkey
|
||||
monkey.patch_all()
|
||||
print("✅ Gevent monkey patching 已启用")
|
||||
except ImportError:
|
||||
print("⚠️ Gevent 未安装,跳过 monkey patching")
|
||||
# ============ Gevent Monkey Patching 结束 ============
|
||||
|
||||
import base64
|
||||
import csv
|
||||
import io
|
||||
import os
|
||||
import time
|
||||
import urllib
|
||||
import uuid
|
||||
|
||||
@@ -3,12 +3,14 @@
|
||||
Gunicorn 配置文件 - app.py 生产环境配置(支持 Flask-SocketIO)
|
||||
|
||||
使用方式:
|
||||
# 推荐方式: 使用 geventwebsocket 支持 WebSocket + 高并发
|
||||
# 方式1: 推荐 - 使用 geventwebsocket 支持 WebSocket + 高并发
|
||||
gunicorn -c gunicorn_app_config.py app:app
|
||||
|
||||
# 或者使用 eventlet(如果 gevent 有问题)
|
||||
pip install eventlet
|
||||
gunicorn -c gunicorn_app_config.py -k eventlet app:app
|
||||
# 方式2: 如果方式1有问题,使用纯 gevent(无 WebSocket)
|
||||
gunicorn -c gunicorn_app_config.py -k gevent app:app
|
||||
|
||||
# 方式3: 最简单的多进程模式(不支持 WebSocket,但最稳定)
|
||||
gunicorn -w 4 -b 0.0.0.0:5001 --timeout 120 app:app
|
||||
"""
|
||||
|
||||
import os
|
||||
@@ -18,18 +20,20 @@ import os
|
||||
# 绑定地址和端口
|
||||
bind = '0.0.0.0:5001'
|
||||
|
||||
# Worker 进程数(Flask-SocketIO 使用异步 worker,不需要太多)
|
||||
workers = 1 # geventwebsocket 要求单 worker
|
||||
# Worker 进程数
|
||||
# 注意:geventwebsocket 要求单 worker,如果用多 worker 需要用 sync 或 gevent
|
||||
workers = 1
|
||||
|
||||
# Worker 类型 - 使用 geventwebsocket 支持 WebSocket
|
||||
# 如果遇到问题,可以命令行添加 -k gevent 覆盖此设置
|
||||
worker_class = 'geventwebsocket.gunicorn.workers.GeventWebSocketWorker'
|
||||
|
||||
# Worker 连接数(gevent 异步模式下可以处理大量并发连接)
|
||||
worker_connections = 1000
|
||||
|
||||
# 每个 worker 处理的最大请求数,超过后重启(防止内存泄漏)
|
||||
max_requests = 10000
|
||||
max_requests_jitter = 1000
|
||||
max_requests = 5000
|
||||
max_requests_jitter = 500
|
||||
|
||||
# ==================== 超时配置 ====================
|
||||
|
||||
|
||||
Reference in New Issue
Block a user