diff --git a/__pycache__/gunicorn.conf.cpython-312.pyc b/__pycache__/gunicorn.conf.cpython-312.pyc new file mode 100644 index 0000000..9c23f71 Binary files /dev/null and b/__pycache__/gunicorn.conf.cpython-312.pyc differ diff --git a/__pycache__/run_dev.cpython-312.pyc b/__pycache__/run_dev.cpython-312.pyc new file mode 100644 index 0000000..b519f49 Binary files /dev/null and b/__pycache__/run_dev.cpython-312.pyc differ diff --git a/config/__pycache__/__init__.cpython-312.pyc b/config/__pycache__/__init__.cpython-312.pyc index b7b1e0b..a5a3a25 100644 Binary files a/config/__pycache__/__init__.cpython-312.pyc and b/config/__pycache__/__init__.cpython-312.pyc differ diff --git a/config/__pycache__/base.cpython-312.pyc b/config/__pycache__/base.cpython-312.pyc index 5f183b7..48c0011 100644 Binary files a/config/__pycache__/base.cpython-312.pyc and b/config/__pycache__/base.cpython-312.pyc differ diff --git a/config/__pycache__/development.cpython-312.pyc b/config/__pycache__/development.cpython-312.pyc index c3c58b1..2e05c34 100644 Binary files a/config/__pycache__/development.cpython-312.pyc and b/config/__pycache__/development.cpython-312.pyc differ diff --git a/config/__pycache__/local.cpython-312.pyc b/config/__pycache__/local.cpython-312.pyc index 7907ec2..85117a6 100644 Binary files a/config/__pycache__/local.cpython-312.pyc and b/config/__pycache__/local.cpython-312.pyc differ diff --git a/config/__pycache__/production.cpython-312.pyc b/config/__pycache__/production.cpython-312.pyc index 9fdf2bb..c995498 100644 Binary files a/config/__pycache__/production.cpython-312.pyc and b/config/__pycache__/production.cpython-312.pyc differ diff --git a/config/__pycache__/testing.cpython-312.pyc b/config/__pycache__/testing.cpython-312.pyc index 44e4638..2058bfa 100644 Binary files a/config/__pycache__/testing.cpython-312.pyc and b/config/__pycache__/testing.cpython-312.pyc differ diff --git a/docs/product/启动服务器 b/docs/product/启动服务器 index 9f75ce2..483686d 100644 --- a/docs/product/启动服务器 +++ b/docs/product/启动服务器 @@ -127,3 +127,15 @@ python run_dev.py - 已安装包: Flask, SQLAlchemy, PyMySQL等 这样您就可以充分利用Python 3.12.7环境进行开发了! + + + + + + + + + + + + diff --git a/logs/app.log b/logs/app.log new file mode 100644 index 0000000..a3f857e --- /dev/null +++ b/logs/app.log @@ -0,0 +1,225 @@ +2025-08-24 17:18:37,910 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-08-24 17:32:22,073 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-08-24 17:33:47,090 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-08-24 17:40:48,391 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-08-24 21:49:33,296 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-08-24 22:02:34,974 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-08-24 22:03:41,060 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-08-24 22:05:02,904 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-08-24 23:28:27,649 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-08-24 23:31:11,387 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-08-24 23:38:39,083 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-08-28 12:41:02,160 ERROR: LLM API调用失败: [Errno 5] Input/output error [in /home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py:76] +2025-08-28 12:41:02,167 ERROR: Exception on / [POST] [in /home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py:875] +Traceback (most recent call last): + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 112, in index + conn = pymysql.connect( + ^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 361, in __init__ + self.connect() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 669, in connect + self._request_authentication() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 957, in _request_authentication + auth_packet = self._read_packet() + ^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet + packet.raise_for_error() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error + err.raise_mysql_exception(self._data) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception + raise errorclass(errno, errval) +pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)") + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app + response = self.full_dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request + rv = self.handle_user_exception(e) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function + return cors_after_request(app.make_response(f(*args, **kwargs))) + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request + rv = self.dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 129, in index + print(f"获取用户ID失败: {str(e)}") +OSError: [Errno 5] Input/output error +2025-08-28 12:41:43,169 ERROR: LLM API调用失败: [Errno 5] Input/output error [in /home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py:76] +2025-08-28 12:41:43,173 ERROR: Exception on / [POST] [in /home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py:875] +Traceback (most recent call last): + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 112, in index + conn = pymysql.connect( + ^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 361, in __init__ + self.connect() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 669, in connect + self._request_authentication() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 957, in _request_authentication + auth_packet = self._read_packet() + ^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet + packet.raise_for_error() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error + err.raise_mysql_exception(self._data) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception + raise errorclass(errno, errval) +pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)") + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app + response = self.full_dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request + rv = self.handle_user_exception(e) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function + return cors_after_request(app.make_response(f(*args, **kwargs))) + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request + rv = self.dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 129, in index + print(f"获取用户ID失败: {str(e)}") +OSError: [Errno 5] Input/output error +2025-08-28 12:42:44,303 ERROR: LLM API调用失败: [Errno 5] Input/output error [in /home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py:76] +2025-08-28 12:42:44,306 ERROR: Exception on / [POST] [in /home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py:875] +Traceback (most recent call last): + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 112, in index + conn = pymysql.connect( + ^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 361, in __init__ + self.connect() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 669, in connect + self._request_authentication() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 957, in _request_authentication + auth_packet = self._read_packet() + ^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet + packet.raise_for_error() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error + err.raise_mysql_exception(self._data) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception + raise errorclass(errno, errval) +pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)") + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app + response = self.full_dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request + rv = self.handle_user_exception(e) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function + return cors_after_request(app.make_response(f(*args, **kwargs))) + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request + rv = self.dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 129, in index + print(f"获取用户ID失败: {str(e)}") +OSError: [Errno 5] Input/output error +2025-08-29 00:42:49,859 ERROR: Exception on / [GET] [in /home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py:875] +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app + response = self.full_dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request + rv = self.handle_user_exception(e) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function + return cors_after_request(app.make_response(f(*args, **kwargs))) + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request + rv = self.dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 143, in index + return render_template('generate.html', form=form, prompt=None, templates=templates, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 150, in render_template + return _render(app, template, context) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 131, in _render + rv = template.render(context) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render + self.environment.handle_exception() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 1, in top-level template code + {% extends "base.html" %} + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 257, in top-level template code + + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1121, in url_for + return self.handle_url_build_error(error, endpoint, values) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1110, in url_for + rv = url_adapter.build( # type: ignore[union-attr] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/werkzeug/routing/map.py", line 924, in build + raise BuildError(endpoint, values, method, self) +werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'favorites.favorites_page'. Did you mean 'main.delete_template' instead? +2025-08-29 00:55:57,872 ERROR: Exception on / [GET] [in /home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py:875] +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app + response = self.full_dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request + rv = self.handle_user_exception(e) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function + return cors_after_request(app.make_response(f(*args, **kwargs))) + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request + rv = self.dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 143, in index + return render_template('generate.html', form=form, prompt=None, templates=templates, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 150, in render_template + return _render(app, template, context) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 131, in _render + rv = template.render(context) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render + self.environment.handle_exception() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 1, in top-level template code + {% extends "base.html" %} + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 257, in top-level template code + + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1121, in url_for + return self.handle_url_build_error(error, endpoint, values) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1110, in url_for + rv = url_adapter.build( # type: ignore[union-attr] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/werkzeug/routing/map.py", line 924, in build + raise BuildError(endpoint, values, method, self) +werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'favorites.favorites_page'. Did you mean 'main.delete_template' instead? diff --git a/logs/gunicorn_access.log b/logs/gunicorn_access.log new file mode 100644 index 0000000..dbc05ee --- /dev/null +++ b/logs/gunicorn_access.log @@ -0,0 +1,96 @@ +127.0.0.1 - - [24/Aug/2025:22:05:14 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 614912 +127.0.0.1 - - [24/Aug/2025:22:05:16 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "http://localhost:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 5794 +127.0.0.1 - - [24/Aug/2025:22:05:37 +0800] "GET / HTTP/1.1" 200 818384 "-" "curl/7.29.0" 549536 +123.139.44.98 - - [24/Aug/2025:22:17:06 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 669092 +123.139.44.98 - - [24/Aug/2025:22:17:08 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 1481 +123.139.44.98 - - [24/Aug/2025:22:17:27 +0800] "GET /expert_generate HTTP/1.1" 200 12946 "http://101.43.95.130:5002/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 13677 +123.139.44.98 - - [24/Aug/2025:22:22:42 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 522042 +127.0.0.1 - - [24/Aug/2025:23:31:26 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 556566 +123.139.44.98 - - [24/Aug/2025:23:31:34 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 721878 +127.0.0.1 - - [24/Aug/2025:23:32:01 +0800] "GET / HTTP/1.1" 200 818384 "-" "curl/7.29.0" 685206 +123.139.44.98 - - [24/Aug/2025:23:37:46 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 751417 +123.139.44.98 - - [24/Aug/2025:23:37:51 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 477027 +123.139.44.98 - - [24/Aug/2025:23:38:10 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 341944 +123.139.44.98 - - [24/Aug/2025:23:38:40 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 761614 +123.139.44.98 - - [24/Aug/2025:23:59:09 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 495913 +123.139.44.98 - - [25/Aug/2025:07:14:18 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 664405 +3.132.23.201 - - [25/Aug/2025:11:56:59 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1181018 +3.132.23.201 - - [25/Aug/2025:11:59:29 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1223938 +36.40.130.48 - - [25/Aug/2025:16:55:17 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 589710 +36.40.130.48 - - [25/Aug/2025:16:55:21 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 1232 +119.28.64.175 - - [25/Aug/2025:16:55:27 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" 461761 +119.28.64.175 - - [25/Aug/2025:17:59:10 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" 685095 +119.28.64.175 - - [25/Aug/2025:17:59:13 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" 348816 +67.205.162.22 - - [25/Aug/2025:19:11:09 +0800] "GET / HTTP/1.0" 200 818384 "-" "-" 555565 +206.168.34.124 - - [25/Aug/2025:20:07:11 +0800] "GET / HTTP/1.1" 200 818384 "-" "-" 689759 +206.168.34.124 - - [25/Aug/2025:20:07:20 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 2791994 +206.168.34.124 - - [25/Aug/2025:20:07:27 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1166 +206.168.34.124 - - [25/Aug/2025:20:07:38 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 756 +206.168.34.124 - - [25/Aug/2025:20:08:04 +0800] "GET /login HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 702 +123.139.44.98 - - [25/Aug/2025:22:22:45 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 736080 +36.43.205.80 - - [26/Aug/2025:08:16:13 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 1457591 +36.43.205.80 - - [26/Aug/2025:08:16:15 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 1212 +185.224.128.17 - - [26/Aug/2025:08:27:03 +0800] "CONNECT example.com:80 HTTP/1.1" 404 207 "-" "-" 1131 +36.43.204.203 - - [26/Aug/2025:09:24:50 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 1529481 +36.43.204.203 - - [26/Aug/2025:09:25:37 +0800] "POST / HTTP/1.1" 500 0 "-" "-" 40870 +36.43.204.203 - - [26/Aug/2025:09:26:05 +0800] "POST / HTTP/1.1" 500 0 "-" "-" 8263 +36.43.204.203 - - [26/Aug/2025:09:26:43 +0800] "POST / HTTP/1.1" 500 0 "-" "-" 8042 +36.43.204.203 - - [26/Aug/2025:09:27:50 +0800] "POST / HTTP/1.1" 500 0 "-" "-" 8161 +36.43.204.203 - - [26/Aug/2025:09:28:13 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 456544 +36.43.204.203 - - [26/Aug/2025:09:28:17 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 5100 +36.43.204.203 - - [26/Aug/2025:09:28:53 +0800] "POST / HTTP/1.1" 200 821717 "http://101.43.95.130:5002/" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 26695637 +3.134.148.59 - - [26/Aug/2025:11:44:26 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1109637 +3.134.148.59 - - [26/Aug/2025:11:46:27 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 1108320 +199.45.154.121 - - [26/Aug/2025:16:03:27 +0800] "GET / HTTP/1.1" 200 818384 "-" "-" 1327629 +199.45.154.121 - - [26/Aug/2025:16:03:34 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1947369 +199.45.154.121 - - [26/Aug/2025:16:03:36 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 909 +199.45.154.121 - - [26/Aug/2025:16:03:42 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 722 +199.45.154.121 - - [26/Aug/2025:16:04:04 +0800] "GET /login HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 743 +119.28.54.131 - - [26/Aug/2025:19:29:13 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" 1269276 +119.28.54.131 - - [26/Aug/2025:20:40:08 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" 484106 +91.196.152.108 - - [26/Aug/2025:21:19:46 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 1273310 +91.196.152.36 - - [26/Aug/2025:21:29:17 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 967 +185.224.128.17 - - [27/Aug/2025:07:12:44 +0800] "CONNECT example.com:80 HTTP/1.1" 404 207 "-" "-" 4622 +91.196.152.120 - - [27/Aug/2025:13:22:18 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 6953488 +91.196.152.100 - - [27/Aug/2025:13:32:59 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0" 4618 +167.94.138.191 - - [27/Aug/2025:15:58:02 +0800] "GET / HTTP/1.1" 200 818384 "-" "-" 970318 +167.94.138.191 - - [27/Aug/2025:15:58:08 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 1638509 +167.94.138.191 - - [27/Aug/2025:15:58:09 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 4830 +167.94.138.191 - - [27/Aug/2025:15:58:16 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 763 +167.94.138.191 - - [27/Aug/2025:15:58:36 +0800] "GET /.well-known/security.txt HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 680 +104.234.115.211 - - [27/Aug/2025:16:02:44 +0800] "GET / HTTP/1.1" 200 818384 "-" "'Mozilla/5.0 (compatible; GenomeCrawlerd/1.0; +https://www.nokia.com/genomecrawler)'" 2573375 +172.234.217.192 - - [27/Aug/2025:18:26:18 +0800] "GET / HTTP/1.1" 200 818384 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36" 1500178 +185.224.128.17 - - [28/Aug/2025:06:22:40 +0800] "CONNECT example.com:80 HTTP/1.1" 404 207 "-" "-" 4581 +47.99.100.132 - - [28/Aug/2025:07:39:41 +0800] "GET / HTTP/1.0" 200 51246 "-" "-" 272052 +47.99.100.132 - - [28/Aug/2025:07:39:45 +0800] "POST /sdk HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)" 906 +47.99.100.132 - - [28/Aug/2025:07:39:45 +0800] "GET /nmaplowercheck1756337985 HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)" 921 +47.99.100.132 - - [28/Aug/2025:07:39:45 +0800] "GET /evox/about HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)" 708 +47.99.100.132 - - [28/Aug/2025:07:39:45 +0800] "GET /HNAP1 HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)" 645 +47.99.100.132 - - [28/Aug/2025:07:39:45 +0800] "GET / HTTP/1.0" 200 51246 "-" "-" 456303 +47.99.100.132 - - [28/Aug/2025:07:40:00 +0800] "GET / HTTP/1.0" 200 51246 "-" "-" 119474 +47.99.100.132 - - [28/Aug/2025:07:40:00 +0800] "GET / HTTP/1.1" 200 51246 "-" "-" 119487 +117.33.113.14 - - [28/Aug/2025:12:39:53 +0800] "GET / HTTP/1.1" 200 51246 "-" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 1931760 +117.33.113.14 - - [28/Aug/2025:12:39:54 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 897 +117.33.113.14 - - [28/Aug/2025:12:41:02 +0800] "POST / HTTP/1.1" 500 265 "http://101.43.95.130:5002/" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 332050 +117.33.113.14 - - [28/Aug/2025:12:41:12 +0800] "GET / HTTP/1.1" 200 51246 "-" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 375597 +117.33.113.14 - - [28/Aug/2025:12:41:32 +0800] "GET / HTTP/1.1" 200 51246 "-" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 203506 +117.33.113.14 - - [28/Aug/2025:12:41:32 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 777 +117.33.113.14 - - [28/Aug/2025:12:41:43 +0800] "POST / HTTP/1.1" 500 265 "http://101.43.95.130:5002/" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 287447 +117.33.113.14 - - [28/Aug/2025:12:42:23 +0800] "GET / HTTP/1.1" 200 51246 "-" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 475153 +117.33.113.14 - - [28/Aug/2025:12:42:24 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "http://101.43.95.130:5002/" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 840 +117.33.113.14 - - [28/Aug/2025:12:42:44 +0800] "POST / HTTP/1.1" 500 265 "http://101.43.95.130:5002/" "Mozilla/5.0 (Linux; Android 15; BVL-AN16 Build/HONORBVL-AN16;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/13.38 SP-engine/2.76.0 languageType/0 bdh_dvt/0 bdh_de/0 bdh_ds/0 bdapp/1.0 (bdhonorbrowser; bdhonorbrowser) bdhonorbrowser/9.3.0.3 (P1 15) NABar/1.0" 144505 +3.134.148.59 - - [28/Aug/2025:13:29:56 +0800] "GET / HTTP/1.1" 200 51246 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 418920 +3.134.148.59 - - [28/Aug/2025:13:32:27 +0800] "GET / HTTP/1.1" 200 51246 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36" 475636 +162.142.125.197 - - [28/Aug/2025:16:58:38 +0800] "GET / HTTP/1.1" 200 51246 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 435845 +162.142.125.197 - - [28/Aug/2025:16:58:43 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 698 +162.142.125.197 - - [28/Aug/2025:16:58:54 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 706 +162.142.125.197 - - [28/Aug/2025:16:59:00 +0800] "GET / HTTP/1.1" 200 51246 "-" "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)" 427379 +121.40.47.206 - - [28/Aug/2025:18:10:22 +0800] "GET / HTTP/1.1" 200 51246 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36" 262173 +47.122.84.251 - - [28/Aug/2025:18:45:19 +0800] "GET / HTTP/1.0" 200 51246 "-" "-" 241684 +47.122.84.251 - - [28/Aug/2025:18:45:19 +0800] "OPTIONS / HTTP/1.0" 200 0 "-" "-" 645 +47.122.84.251 - - [28/Aug/2025:18:46:00 +0800] "GET /devicedesc.xml HTTP/1.1" 404 207 "-" "-" 682 +123.139.40.144 - - [29/Aug/2025:00:39:08 +0800] "GET / HTTP/1.1" 200 51246 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 295881 +123.139.40.144 - - [29/Aug/2025:00:39:21 +0800] "GET / HTTP/1.1" 200 51246 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 441695 +123.139.40.144 - - [29/Aug/2025:00:42:49 +0800] "GET / HTTP/1.1" 500 265 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 508571 +123.139.40.144 - - [29/Aug/2025:00:44:27 +0800] "GET / HTTP/1.1" 200 51246 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 279239 +123.139.40.144 - - [29/Aug/2025:00:55:57 +0800] "GET / HTTP/1.1" 500 265 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Edg/139.0.0.0" 458593 diff --git a/logs/gunicorn_error.log b/logs/gunicorn_error.log new file mode 100644 index 0000000..e454a75 --- /dev/null +++ b/logs/gunicorn_error.log @@ -0,0 +1,1468 @@ +[2025-08-24 22:02:35 +0800] [17895] [INFO] Starting gunicorn 23.0.0 +[2025-08-24 22:02:35 +0800] [17895] [INFO] Gunicorn服务器启动中... +[2025-08-24 22:02:35 +0800] [17895] [INFO] Listening at: http://0.0.0.0:5000 (17895) +[2025-08-24 22:02:35 +0800] [17895] [INFO] Using worker: sync +[2025-08-24 22:02:35 +0800] [17895] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 22:02:35 +0800] [17934] [INFO] Booting worker with pid: 17934 +[2025-08-24 22:02:35 +0800] [17934] [INFO] 工作进程 17934 已启动 +[2025-08-24 22:02:35 +0800] [17934] [INFO] 工作进程 17934 初始化完成 +[2025-08-24 22:02:35 +0800] [17895] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 22:02:35 +0800] [17895] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 22:02:35 +0800] [17935] [INFO] Booting worker with pid: 17935 +[2025-08-24 22:02:35 +0800] [17935] [INFO] 工作进程 17935 已启动 +[2025-08-24 22:02:35 +0800] [17935] [INFO] 工作进程 17935 初始化完成 +[2025-08-24 22:02:35 +0800] [17936] [INFO] Booting worker with pid: 17936 +[2025-08-24 22:02:35 +0800] [17936] [INFO] 工作进程 17936 已启动 +[2025-08-24 22:02:35 +0800] [17936] [INFO] 工作进程 17936 初始化完成 +[2025-08-24 22:02:36 +0800] [17895] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 22:02:36 +0800] [17937] [INFO] Booting worker with pid: 17937 +[2025-08-24 22:02:36 +0800] [17937] [INFO] 工作进程 17937 已启动 +[2025-08-24 22:02:36 +0800] [17937] [INFO] 工作进程 17937 初始化完成 +[2025-08-24 22:02:36 +0800] [17895] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 22:02:36 +0800] [17938] [INFO] Booting worker with pid: 17938 +[2025-08-24 22:02:36 +0800] [17938] [INFO] 工作进程 17938 已启动 +[2025-08-24 22:02:36 +0800] [17938] [INFO] 工作进程 17938 初始化完成 +[2025-08-24 22:03:41 +0800] [18797] [INFO] Starting gunicorn 23.0.0 +[2025-08-24 22:04:36 +0800] [17895] [INFO] Handling signal: term +[2025-08-24 22:04:36 +0800] [17934] [INFO] Worker exiting (pid: 17934) +[2025-08-24 22:04:36 +0800] [17937] [INFO] Worker exiting (pid: 17937) +[2025-08-24 22:04:36 +0800] [17936] [INFO] Worker exiting (pid: 17936) +[2025-08-24 22:04:36 +0800] [17935] [INFO] Worker exiting (pid: 17935) +[2025-08-24 22:04:36 +0800] [17938] [INFO] Worker exiting (pid: 17938) +[2025-08-24 22:04:37 +0800] [17895] [INFO] Shutting down: Master +[2025-08-24 22:05:03 +0800] [20867] [INFO] Starting gunicorn 23.0.0 +[2025-08-24 22:05:03 +0800] [20867] [INFO] Gunicorn服务器启动中... +[2025-08-24 22:05:03 +0800] [20867] [INFO] Listening at: http://0.0.0.0:5002 (20867) +[2025-08-24 22:05:03 +0800] [20867] [INFO] Using worker: sync +[2025-08-24 22:05:03 +0800] [20867] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 22:05:03 +0800] [22376] [INFO] Booting worker with pid: 22376 +[2025-08-24 22:05:03 +0800] [22376] [INFO] 工作进程 22376 已启动 +[2025-08-24 22:05:03 +0800] [22376] [INFO] 工作进程 22376 初始化完成 +[2025-08-24 22:05:03 +0800] [20867] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 22:05:03 +0800] [22401] [INFO] Booting worker with pid: 22401 +[2025-08-24 22:05:03 +0800] [22401] [INFO] 工作进程 22401 已启动 +[2025-08-24 22:05:03 +0800] [22401] [INFO] 工作进程 22401 初始化完成 +[2025-08-24 22:05:03 +0800] [20867] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 22:05:03 +0800] [22538] [INFO] Booting worker with pid: 22538 +[2025-08-24 22:05:03 +0800] [22538] [INFO] 工作进程 22538 已启动 +[2025-08-24 22:05:03 +0800] [22538] [INFO] 工作进程 22538 初始化完成 +[2025-08-24 22:05:03 +0800] [20867] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 22:05:03 +0800] [22588] [INFO] Booting worker with pid: 22588 +[2025-08-24 22:05:03 +0800] [22588] [INFO] 工作进程 22588 已启动 +[2025-08-24 22:05:03 +0800] [22588] [INFO] 工作进程 22588 初始化完成 +[2025-08-24 22:05:04 +0800] [20867] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 22:05:04 +0800] [22647] [INFO] Booting worker with pid: 22647 +[2025-08-24 22:05:04 +0800] [22647] [INFO] 工作进程 22647 已启动 +[2025-08-24 22:05:04 +0800] [22647] [INFO] 工作进程 22647 初始化完成 +[2025-08-24 22:17:58 +0800] [20867] [CRITICAL] WORKER TIMEOUT (pid:22538) +[2025-08-24 22:17:58 +0800] [22538] [INFO] 工作进程 22538 异常退出 +[2025-08-24 22:17:58 +0800] [22538] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-24 22:17:58 +0800] [22538] [INFO] Worker exiting (pid: 22538) +[2025-08-24 22:17:59 +0800] [20867] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 22:17:59 +0800] [30966] [INFO] Booting worker with pid: 30966 +[2025-08-24 22:17:59 +0800] [30966] [INFO] 工作进程 30966 已启动 +[2025-08-24 22:17:59 +0800] [30966] [INFO] 工作进程 30966 初始化完成 +[2025-08-24 22:23:13 +0800] [20867] [CRITICAL] WORKER TIMEOUT (pid:22376) +[2025-08-24 22:23:13 +0800] [22376] [INFO] 工作进程 22376 异常退出 +[2025-08-24 22:23:13 +0800] [22376] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-24 22:23:13 +0800] [22376] [INFO] Worker exiting (pid: 22376) +[2025-08-24 22:23:13 +0800] [20867] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 22:23:13 +0800] [24024] [INFO] Booting worker with pid: 24024 +[2025-08-24 22:23:13 +0800] [24024] [INFO] 工作进程 24024 已启动 +[2025-08-24 22:23:13 +0800] [24024] [INFO] 工作进程 24024 初始化完成 +[2025-08-24 22:31:50 +0800] [20867] [INFO] Handling signal: term +[2025-08-24 22:31:50 +0800] [22401] [INFO] Worker exiting (pid: 22401) +[2025-08-24 22:31:50 +0800] [22647] [INFO] Worker exiting (pid: 22647) +[2025-08-24 22:31:50 +0800] [30966] [INFO] Worker exiting (pid: 30966) +[2025-08-24 22:31:50 +0800] [22588] [INFO] Worker exiting (pid: 22588) +[2025-08-24 22:31:50 +0800] [24024] [INFO] Worker exiting (pid: 24024) +[2025-08-24 22:31:51 +0800] [20867] [INFO] Shutting down: Master +[2025-08-24 23:31:11 +0800] [27829] [INFO] Starting gunicorn 23.0.0 +[2025-08-24 23:31:11 +0800] [27829] [INFO] Gunicorn服务器启动中... +[2025-08-24 23:31:11 +0800] [27829] [INFO] Listening at: http://0.0.0.0:5002 (27829) +[2025-08-24 23:31:11 +0800] [27829] [INFO] Using worker: sync +[2025-08-24 23:31:11 +0800] [27829] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 23:31:11 +0800] [27837] [INFO] Booting worker with pid: 27837 +[2025-08-24 23:31:11 +0800] [27837] [INFO] 工作进程 27837 已启动 +[2025-08-24 23:31:11 +0800] [27829] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 23:31:11 +0800] [27837] [INFO] 工作进程 27837 初始化完成 +[2025-08-24 23:31:11 +0800] [27838] [INFO] Booting worker with pid: 27838 +[2025-08-24 23:31:11 +0800] [27838] [INFO] 工作进程 27838 已启动 +[2025-08-24 23:31:12 +0800] [27838] [INFO] 工作进程 27838 初始化完成 +[2025-08-24 23:31:12 +0800] [27829] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 23:31:12 +0800] [27839] [INFO] Booting worker with pid: 27839 +[2025-08-24 23:31:12 +0800] [27839] [INFO] 工作进程 27839 已启动 +[2025-08-24 23:31:12 +0800] [27839] [INFO] 工作进程 27839 初始化完成 +[2025-08-24 23:31:12 +0800] [27829] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 23:31:12 +0800] [27840] [INFO] Booting worker with pid: 27840 +[2025-08-24 23:31:12 +0800] [27840] [INFO] 工作进程 27840 已启动 +[2025-08-24 23:31:12 +0800] [27840] [INFO] 工作进程 27840 初始化完成 +[2025-08-24 23:31:12 +0800] [27829] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 23:31:12 +0800] [27841] [INFO] Booting worker with pid: 27841 +[2025-08-24 23:31:12 +0800] [27841] [INFO] 工作进程 27841 已启动 +[2025-08-24 23:31:12 +0800] [27841] [INFO] 工作进程 27841 初始化完成 +[2025-08-24 23:31:56 +0800] [27829] [CRITICAL] WORKER TIMEOUT (pid:27838) +[2025-08-24 23:31:56 +0800] [27838] [INFO] 工作进程 27838 异常退出 +[2025-08-24 23:31:56 +0800] [27838] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-24 23:31:56 +0800] [27838] [INFO] Worker exiting (pid: 27838) +[2025-08-24 23:31:56 +0800] [27829] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 23:31:56 +0800] [28340] [INFO] Booting worker with pid: 28340 +[2025-08-24 23:31:56 +0800] [28340] [INFO] 工作进程 28340 已启动 +[2025-08-24 23:31:56 +0800] [28340] [INFO] 工作进程 28340 初始化完成 +[2025-08-24 23:32:04 +0800] [27829] [CRITICAL] WORKER TIMEOUT (pid:27840) +[2025-08-24 23:32:04 +0800] [27840] [INFO] 工作进程 27840 异常退出 +[2025-08-24 23:32:04 +0800] [27840] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-24 23:32:04 +0800] [27840] [INFO] Worker exiting (pid: 27840) +[2025-08-24 23:32:04 +0800] [27829] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 23:32:04 +0800] [28447] [INFO] Booting worker with pid: 28447 +[2025-08-24 23:32:04 +0800] [28447] [INFO] 工作进程 28447 已启动 +[2025-08-24 23:32:04 +0800] [28447] [INFO] 工作进程 28447 初始化完成 +[2025-08-24 23:37:45 +0800] [27837] [INFO] Parent changed, shutting down: +[2025-08-24 23:37:45 +0800] [27837] [INFO] Worker exiting (pid: 27837) +[2025-08-24 23:37:46 +0800] [28340] [INFO] Parent changed, shutting down: +[2025-08-24 23:37:46 +0800] [28340] [INFO] Worker exiting (pid: 28340) +[2025-08-24 23:37:46 +0800] [28447] [INFO] Parent changed, shutting down: +[2025-08-24 23:37:46 +0800] [28447] [INFO] Worker exiting (pid: 28447) +[2025-08-24 23:37:49 +0800] [27839] [INFO] Parent changed, shutting down: +[2025-08-24 23:37:49 +0800] [27839] [INFO] Worker exiting (pid: 27839) +[2025-08-24 23:38:10 +0800] [27841] [INFO] Worker exiting (pid: 27841) +[2025-08-24 23:38:39 +0800] [22763] [INFO] Starting gunicorn 23.0.0 +[2025-08-24 23:38:39 +0800] [22763] [INFO] Gunicorn服务器启动中... +[2025-08-24 23:38:39 +0800] [22763] [INFO] Listening at: http://0.0.0.0:5002 (22763) +[2025-08-24 23:38:39 +0800] [22763] [INFO] Using worker: sync +[2025-08-24 23:38:39 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 23:38:39 +0800] [22780] [INFO] Booting worker with pid: 22780 +[2025-08-24 23:38:39 +0800] [22780] [INFO] 工作进程 22780 已启动 +[2025-08-24 23:38:39 +0800] [22780] [INFO] 工作进程 22780 初始化完成 +[2025-08-24 23:38:39 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 23:38:39 +0800] [22781] [INFO] Booting worker with pid: 22781 +[2025-08-24 23:38:39 +0800] [22781] [INFO] 工作进程 22781 已启动 +[2025-08-24 23:38:39 +0800] [22781] [INFO] 工作进程 22781 初始化完成 +[2025-08-24 23:38:39 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 23:38:39 +0800] [22782] [INFO] Booting worker with pid: 22782 +[2025-08-24 23:38:39 +0800] [22782] [INFO] 工作进程 22782 已启动 +[2025-08-24 23:38:39 +0800] [22782] [INFO] 工作进程 22782 初始化完成 +[2025-08-24 23:38:39 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 23:38:39 +0800] [22783] [INFO] Booting worker with pid: 22783 +[2025-08-24 23:38:39 +0800] [22783] [INFO] 工作进程 22783 已启动 +[2025-08-24 23:38:39 +0800] [22783] [INFO] 工作进程 22783 初始化完成 +[2025-08-24 23:38:39 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 23:38:39 +0800] [22784] [INFO] Booting worker with pid: 22784 +[2025-08-24 23:38:39 +0800] [22784] [INFO] 工作进程 22784 已启动 +[2025-08-24 23:38:39 +0800] [22784] [INFO] 工作进程 22784 初始化完成 +[2025-08-24 23:39:10 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:22782) +[2025-08-24 23:39:10 +0800] [22782] [INFO] 工作进程 22782 异常退出 +[2025-08-24 23:39:10 +0800] [22782] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-24 23:39:10 +0800] [22782] [INFO] Worker exiting (pid: 22782) +[2025-08-24 23:39:10 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:22780) +[2025-08-24 23:39:10 +0800] [22780] [INFO] 工作进程 22780 异常退出 +[2025-08-24 23:39:10 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 23:39:10 +0800] [22780] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-24 23:39:10 +0800] [22780] [INFO] Worker exiting (pid: 22780) +[2025-08-24 23:39:10 +0800] [23005] [INFO] Booting worker with pid: 23005 +[2025-08-24 23:39:10 +0800] [23005] [INFO] 工作进程 23005 已启动 +[2025-08-24 23:39:10 +0800] [23005] [INFO] 工作进程 23005 初始化完成 +[2025-08-24 23:39:10 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 23:39:10 +0800] [23009] [INFO] Booting worker with pid: 23009 +[2025-08-24 23:39:10 +0800] [23009] [INFO] 工作进程 23009 已启动 +[2025-08-24 23:39:10 +0800] [23009] [INFO] 工作进程 23009 初始化完成 +[2025-08-24 23:59:39 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:22784) +[2025-08-24 23:59:39 +0800] [22784] [INFO] 工作进程 22784 异常退出 +[2025-08-24 23:59:39 +0800] [22784] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-24 23:59:39 +0800] [22784] [INFO] Worker exiting (pid: 22784) +[2025-08-24 23:59:39 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-24 23:59:39 +0800] [27408] [INFO] Booting worker with pid: 27408 +[2025-08-24 23:59:39 +0800] [27408] [INFO] 工作进程 27408 已启动 +[2025-08-24 23:59:39 +0800] [27408] [INFO] 工作进程 27408 初始化完成 +[2025-08-25 07:14:48 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:23005) +[2025-08-25 07:14:48 +0800] [23005] [INFO] 工作进程 23005 异常退出 +[2025-08-25 07:14:48 +0800] [23005] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-25 07:14:48 +0800] [23005] [INFO] Worker exiting (pid: 23005) +[2025-08-25 07:14:48 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-25 07:14:48 +0800] [28322] [INFO] Booting worker with pid: 28322 +[2025-08-25 07:14:48 +0800] [28322] [INFO] 工作进程 28322 已启动 +[2025-08-25 07:14:48 +0800] [28322] [INFO] 工作进程 28322 初始化完成 +[2025-08-25 12:01:59 +0800] [28322] [WARNING] Invalid request from ip=3.132.23.201: Invalid HTTP request line: 'SSH-2.0-Go' +[2025-08-25 19:11:08 +0800] [22781] [WARNING] Invalid request from ip=67.205.162.22: Invalid HTTP request line: '' +[2025-08-25 19:55:00 +0800] [23009] [WARNING] Invalid request from ip=79.124.49.210: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr' +[2025-08-25 20:07:28 +0800] [22783] [WARNING] Invalid request from ip=206.168.34.124: Invalid HTTP Version: (2, 0) +[2025-08-25 20:07:41 +0800] [22783] [WARNING] Invalid request from ip=206.168.34.124: Invalid HTTP Version: (2, 0) +[2025-08-25 22:23:15 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:23009) +[2025-08-25 22:23:15 +0800] [23009] [INFO] 工作进程 23009 异常退出 +[2025-08-25 22:23:15 +0800] [23009] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-25 22:23:15 +0800] [23009] [INFO] Worker exiting (pid: 23009) +[2025-08-25 22:23:15 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-25 22:23:15 +0800] [9968] [INFO] Booting worker with pid: 9968 +[2025-08-25 22:23:15 +0800] [9968] [INFO] 工作进程 9968 已启动 +[2025-08-25 22:23:15 +0800] [9968] [INFO] 工作进程 9968 初始化完成 +[2025-08-26 09:25:37 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:9968) +[2025-08-26 09:25:37 +0800] [9968] [INFO] 工作进程 9968 异常退出 +[2025-08-26 09:25:37 +0800] [9968] [ERROR] Error handling request / +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 134, in handle + self.handle_request(listener, req, client, addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 177, in handle_request + respiter = self.wsgi(environ, resp.start_response) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1536, in __call__ + return self.wsgi_app(environ, start_response) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app + response = self.full_dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request + rv = self.dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 139, in index + return render_template('generate.html', form=form, prompt=prompt, templates=templates, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 150, in render_template + return _render(app, template, context) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 131, in _render + rv = template.render(context) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1293, in render + return self.environment.concat(self.root_render_func(ctx)) # type: ignore + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 15, in root +
+ File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 37, in root + } + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 99, in block_content +
+ File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 490, in getattr + return getattr(obj, attribute) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 569, in __get__ + return self.impl.get(state, dict_) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 1096, in get + value = self._fire_loader_callables(state, key, passive) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 1126, in _fire_loader_callables + return state._load_expired(state, passive) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/state.py", line 803, in _load_expired + self.manager.expired_attribute_loader(self, toload, passive) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/loading.py", line 1674, in load_scalar_attributes + result = load_on_ident( + ^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/loading.py", line 510, in load_on_ident + return load_on_pk_identity( + ^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/loading.py", line 695, in load_on_pk_identity + session.execute( + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 2365, in execute + return self._execute_internal( + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 2251, in _execute_internal + result: Result[Any] = compile_state_cls.orm_execute_statement( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/context.py", line 306, in orm_execute_statement + result = conn.execute( + ^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1419, in execute + return meth( + ^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/sql/elements.py", line 526, in _execute_on_connection + return connection._execute_clauseelement( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement + ret = self._execute_context( + ^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context + return self._exec_single_context( + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context + self._handle_dbapi_exception( + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 2358, in _handle_dbapi_exception + raise exc_info[1].with_traceback(exc_info[2]) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context + self.dialect.do_execute( + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 951, in do_execute + cursor.execute(statement, parameters) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute + result = self._query(query) + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query + conn.query(q) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query + self._affected_rows = self._read_query_result(unbuffered=unbuffered) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result + result.read() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read + first_packet = self.connection._read_packet() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 744, in _read_packet + packet_header = self._read_bytes(4) + ^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 782, in _read_bytes + data = self._rfile.read(num_bytes) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/socket.py", line 720, in readinto + return self._sock.recv_into(b) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-26 09:25:37 +0800] [9968] [INFO] Worker exiting (pid: 9968) +[2025-08-26 09:25:37 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-26 09:25:37 +0800] [26650] [INFO] Booting worker with pid: 26650 +[2025-08-26 09:25:37 +0800] [26650] [INFO] 工作进程 26650 已启动 +[2025-08-26 09:25:37 +0800] [26650] [INFO] 工作进程 26650 初始化完成 +[2025-08-26 09:26:05 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:22781) +[2025-08-26 09:26:05 +0800] [22781] [INFO] 工作进程 22781 异常退出 +[2025-08-26 09:26:05 +0800] [22781] [ERROR] Error handling request / +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 134, in handle + self.handle_request(listener, req, client, addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 177, in handle_request + respiter = self.wsgi(environ, resp.start_response) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1536, in __call__ + return self.wsgi_app(environ, start_response) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app + response = self.full_dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request + rv = self.dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 139, in index + return render_template('generate.html', form=form, prompt=prompt, templates=templates, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 150, in render_template + return _render(app, template, context) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 131, in _render + rv = template.render(context) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1293, in render + return self.environment.concat(self.root_render_func(ctx)) # type: ignore + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 15, in root +
+ File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 37, in root + } + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 99, in block_content +
+ File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 490, in getattr + return getattr(obj, attribute) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 569, in __get__ + return self.impl.get(state, dict_) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 1096, in get + value = self._fire_loader_callables(state, key, passive) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 1126, in _fire_loader_callables + return state._load_expired(state, passive) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/state.py", line 803, in _load_expired + self.manager.expired_attribute_loader(self, toload, passive) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/loading.py", line 1674, in load_scalar_attributes + result = load_on_ident( + ^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/loading.py", line 510, in load_on_ident + return load_on_pk_identity( + ^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/loading.py", line 695, in load_on_pk_identity + session.execute( + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 2365, in execute + return self._execute_internal( + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 2251, in _execute_internal + result: Result[Any] = compile_state_cls.orm_execute_statement( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/context.py", line 306, in orm_execute_statement + result = conn.execute( + ^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1419, in execute + return meth( + ^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/sql/elements.py", line 526, in _execute_on_connection + return connection._execute_clauseelement( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement + ret = self._execute_context( + ^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context + return self._exec_single_context( + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context + self._handle_dbapi_exception( + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 2358, in _handle_dbapi_exception + raise exc_info[1].with_traceback(exc_info[2]) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context + self.dialect.do_execute( + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 951, in do_execute + cursor.execute(statement, parameters) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute + result = self._query(query) + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query + conn.query(q) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query + self._affected_rows = self._read_query_result(unbuffered=unbuffered) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result + result.read() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read + first_packet = self.connection._read_packet() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 744, in _read_packet + packet_header = self._read_bytes(4) + ^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 782, in _read_bytes + data = self._rfile.read(num_bytes) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/socket.py", line 720, in readinto + return self._sock.recv_into(b) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-26 09:26:05 +0800] [22781] [INFO] Worker exiting (pid: 22781) +[2025-08-26 09:26:06 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-26 09:26:06 +0800] [26964] [INFO] Booting worker with pid: 26964 +[2025-08-26 09:26:06 +0800] [26964] [INFO] 工作进程 26964 已启动 +[2025-08-26 09:26:06 +0800] [26964] [INFO] 工作进程 26964 初始化完成 +[2025-08-26 09:26:43 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:26650) +[2025-08-26 09:26:43 +0800] [26650] [INFO] 工作进程 26650 异常退出 +[2025-08-26 09:26:43 +0800] [26650] [ERROR] Error handling request / +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 134, in handle + self.handle_request(listener, req, client, addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 177, in handle_request + respiter = self.wsgi(environ, resp.start_response) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1536, in __call__ + return self.wsgi_app(environ, start_response) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app + response = self.full_dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request + rv = self.dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 139, in index + return render_template('generate.html', form=form, prompt=prompt, templates=templates, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 150, in render_template + return _render(app, template, context) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 131, in _render + rv = template.render(context) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1293, in render + return self.environment.concat(self.root_render_func(ctx)) # type: ignore + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 15, in root +
+ File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 37, in root + } + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 99, in block_content +
+ File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 490, in getattr + return getattr(obj, attribute) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 569, in __get__ + return self.impl.get(state, dict_) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 1096, in get + value = self._fire_loader_callables(state, key, passive) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 1126, in _fire_loader_callables + return state._load_expired(state, passive) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/state.py", line 803, in _load_expired + self.manager.expired_attribute_loader(self, toload, passive) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/loading.py", line 1674, in load_scalar_attributes + result = load_on_ident( + ^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/loading.py", line 510, in load_on_ident + return load_on_pk_identity( + ^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/loading.py", line 695, in load_on_pk_identity + session.execute( + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 2365, in execute + return self._execute_internal( + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 2251, in _execute_internal + result: Result[Any] = compile_state_cls.orm_execute_statement( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/context.py", line 306, in orm_execute_statement + result = conn.execute( + ^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1419, in execute + return meth( + ^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/sql/elements.py", line 526, in _execute_on_connection + return connection._execute_clauseelement( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement + ret = self._execute_context( + ^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context + return self._exec_single_context( + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context + self._handle_dbapi_exception( + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 2358, in _handle_dbapi_exception + raise exc_info[1].with_traceback(exc_info[2]) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context + self.dialect.do_execute( + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 951, in do_execute + cursor.execute(statement, parameters) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute + result = self._query(query) + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query + conn.query(q) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query + self._affected_rows = self._read_query_result(unbuffered=unbuffered) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result + result.read() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read + first_packet = self.connection._read_packet() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 744, in _read_packet + packet_header = self._read_bytes(4) + ^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 782, in _read_bytes + data = self._rfile.read(num_bytes) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/socket.py", line 720, in readinto + return self._sock.recv_into(b) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-26 09:26:43 +0800] [26650] [INFO] Worker exiting (pid: 26650) +[2025-08-26 09:26:43 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-26 09:26:43 +0800] [27236] [INFO] Booting worker with pid: 27236 +[2025-08-26 09:26:43 +0800] [27236] [INFO] 工作进程 27236 已启动 +[2025-08-26 09:26:43 +0800] [27236] [INFO] 工作进程 27236 初始化完成 +[2025-08-26 09:27:50 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:26964) +[2025-08-26 09:27:50 +0800] [26964] [INFO] 工作进程 26964 异常退出 +[2025-08-26 09:27:50 +0800] [26964] [ERROR] Error handling request / +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 134, in handle + self.handle_request(listener, req, client, addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 177, in handle_request + respiter = self.wsgi(environ, resp.start_response) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1536, in __call__ + return self.wsgi_app(environ, start_response) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app + response = self.full_dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request + rv = self.dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 139, in index + return render_template('generate.html', form=form, prompt=prompt, templates=templates, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 150, in render_template + return _render(app, template, context) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 131, in _render + rv = template.render(context) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1293, in render + return self.environment.concat(self.root_render_func(ctx)) # type: ignore + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 15, in root +
+ File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 37, in root + } + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 99, in block_content +
+ File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 490, in getattr + return getattr(obj, attribute) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 569, in __get__ + return self.impl.get(state, dict_) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 1096, in get + value = self._fire_loader_callables(state, key, passive) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/attributes.py", line 1126, in _fire_loader_callables + return state._load_expired(state, passive) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/state.py", line 803, in _load_expired + self.manager.expired_attribute_loader(self, toload, passive) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/loading.py", line 1674, in load_scalar_attributes + result = load_on_ident( + ^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/loading.py", line 510, in load_on_ident + return load_on_pk_identity( + ^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/loading.py", line 695, in load_on_pk_identity + session.execute( + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 2365, in execute + return self._execute_internal( + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/session.py", line 2251, in _execute_internal + result: Result[Any] = compile_state_cls.orm_execute_statement( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/orm/context.py", line 306, in orm_execute_statement + result = conn.execute( + ^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1419, in execute + return meth( + ^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/sql/elements.py", line 526, in _execute_on_connection + return connection._execute_clauseelement( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement + ret = self._execute_context( + ^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context + return self._exec_single_context( + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context + self._handle_dbapi_exception( + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 2358, in _handle_dbapi_exception + raise exc_info[1].with_traceback(exc_info[2]) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context + self.dialect.do_execute( + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 951, in do_execute + cursor.execute(statement, parameters) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/cursors.py", line 153, in execute + result = self._query(query) + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/cursors.py", line 322, in _query + conn.query(q) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 563, in query + self._affected_rows = self._read_query_result(unbuffered=unbuffered) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 825, in _read_query_result + result.read() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 1199, in read + first_packet = self.connection._read_packet() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 744, in _read_packet + packet_header = self._read_bytes(4) + ^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 782, in _read_bytes + data = self._rfile.read(num_bytes) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/socket.py", line 720, in readinto + return self._sock.recv_into(b) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-26 09:27:50 +0800] [26964] [INFO] Worker exiting (pid: 26964) +[2025-08-26 09:27:50 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-26 09:27:50 +0800] [28042] [INFO] Booting worker with pid: 28042 +[2025-08-26 09:27:50 +0800] [28042] [INFO] 工作进程 28042 已启动 +[2025-08-26 09:27:50 +0800] [28042] [INFO] 工作进程 28042 初始化完成 +[2025-08-26 11:50:01 +0800] [28322] [WARNING] Invalid request from ip=3.134.148.59: Invalid HTTP request line: 'SSH-2.0-Go' +[2025-08-26 13:31:15 +0800] [22783] [WARNING] Invalid request from ip=79.124.49.210: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr' +[2025-08-26 16:03:38 +0800] [27236] [WARNING] Invalid request from ip=199.45.154.121: Invalid HTTP Version: (2, 0) +[2025-08-26 16:03:43 +0800] [27236] [WARNING] Invalid request from ip=199.45.154.121: Invalid HTTP Version: (2, 0) +[2025-08-27 01:00:16 +0800] [22763] [ERROR] Worker (pid:22783) was sent SIGHUP! +[2025-08-27 01:00:16 +0800] [22763] [ERROR] Worker (pid:27408) was sent SIGHUP! +[2025-08-27 01:00:16 +0800] [22763] [ERROR] Worker (pid:28322) was sent SIGHUP! +[2025-08-27 01:00:16 +0800] [22763] [ERROR] Worker (pid:27236) was sent SIGHUP! +[2025-08-27 01:00:16 +0800] [22763] [ERROR] Worker (pid:28042) was sent SIGHUP! +[2025-08-27 01:00:16 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-27 01:00:16 +0800] [15387] [INFO] Booting worker with pid: 15387 +[2025-08-27 01:00:16 +0800] [15387] [INFO] 工作进程 15387 已启动 +[2025-08-27 01:00:16 +0800] [15387] [INFO] 工作进程 15387 初始化完成 +[2025-08-27 01:00:16 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-27 01:00:16 +0800] [15537] [INFO] Booting worker with pid: 15537 +[2025-08-27 01:00:16 +0800] [15537] [INFO] 工作进程 15537 已启动 +[2025-08-27 01:00:16 +0800] [15537] [INFO] 工作进程 15537 初始化完成 +[2025-08-27 01:00:16 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-27 01:00:16 +0800] [15574] [INFO] Booting worker with pid: 15574 +[2025-08-27 01:00:16 +0800] [15574] [INFO] 工作进程 15574 已启动 +[2025-08-27 01:00:16 +0800] [15574] [INFO] 工作进程 15574 初始化完成 +[2025-08-27 01:00:16 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-27 01:00:16 +0800] [15621] [INFO] Booting worker with pid: 15621 +[2025-08-27 01:00:16 +0800] [15621] [INFO] 工作进程 15621 已启动 +[2025-08-27 01:00:16 +0800] [15621] [INFO] 工作进程 15621 初始化完成 +[2025-08-27 01:00:16 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-27 01:00:16 +0800] [15694] [INFO] Booting worker with pid: 15694 +[2025-08-27 01:00:16 +0800] [15694] [INFO] 工作进程 15694 已启动 +[2025-08-27 01:00:16 +0800] [15694] [INFO] 工作进程 15694 初始化完成 +[2025-08-27 01:00:16 +0800] [22763] [INFO] Handling signal: hup +[2025-08-27 01:00:16 +0800] [22763] [INFO] Hang up: Master +[2025-08-27 01:00:16 +0800] [22763] [INFO] Gunicorn服务器重载中... +[2025-08-27 01:00:16 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-27 01:00:16 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-27 01:00:16 +0800] [15743] [INFO] Booting worker with pid: 15743 +[2025-08-27 01:00:16 +0800] [15743] [INFO] 工作进程 15743 已启动 +[2025-08-27 01:00:16 +0800] [15743] [INFO] 工作进程 15743 初始化完成 +[2025-08-27 01:00:16 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-27 01:00:16 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-27 01:00:16 +0800] [15748] [INFO] Booting worker with pid: 15748 +[2025-08-27 01:00:16 +0800] [15748] [INFO] 工作进程 15748 已启动 +[2025-08-27 01:00:16 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-27 01:00:16 +0800] [15748] [INFO] 工作进程 15748 初始化完成 +[2025-08-27 01:00:16 +0800] [15387] [INFO] Worker exiting (pid: 15387) +[2025-08-27 01:00:16 +0800] [15750] [INFO] Booting worker with pid: 15750 +[2025-08-27 01:00:16 +0800] [15750] [INFO] 工作进程 15750 已启动 +[2025-08-27 01:00:16 +0800] [15750] [INFO] 工作进程 15750 初始化完成 +[2025-08-27 01:00:16 +0800] [15537] [INFO] Worker exiting (pid: 15537) +[2025-08-27 01:00:16 +0800] [15574] [INFO] Worker exiting (pid: 15574) +[2025-08-27 01:00:16 +0800] [15621] [INFO] Worker exiting (pid: 15621) +[2025-08-27 01:00:16 +0800] [15694] [INFO] Worker exiting (pid: 15694) +[2025-08-27 01:00:16 +0800] [15746] [INFO] Booting worker with pid: 15746 +[2025-08-27 01:00:16 +0800] [15746] [INFO] 工作进程 15746 已启动 +[2025-08-27 01:00:16 +0800] [15746] [INFO] 工作进程 15746 初始化完成 +[2025-08-27 01:00:16 +0800] [15749] [INFO] Booting worker with pid: 15749 +[2025-08-27 01:00:16 +0800] [15749] [INFO] 工作进程 15749 已启动 +[2025-08-27 01:00:16 +0800] [15749] [INFO] 工作进程 15749 初始化完成 +[2025-08-27 01:00:17 +0800] [22763] [ERROR] Worker (pid:15537) was sent SIGTERM! +[2025-08-27 01:00:17 +0800] [22763] [ERROR] Worker (pid:15387) was sent SIGTERM! +[2025-08-27 01:00:17 +0800] [22763] [ERROR] Worker (pid:15621) was sent SIGTERM! +[2025-08-27 13:36:30 +0800] [15746] [WARNING] Invalid request from ip=194.0.234.12: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr' +[2025-08-27 14:32:31 +0800] [15743] [WARNING] Invalid request from ip=85.208.84.95: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr' +[2025-08-27 15:58:10 +0800] [15746] [WARNING] Invalid request from ip=167.94.138.191: Invalid HTTP Version: (2, 0) +[2025-08-27 15:58:17 +0800] [15748] [WARNING] Invalid request from ip=167.94.138.191: Invalid HTTP Version: (2, 0) +[2025-08-27 16:02:36 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:15749) +[2025-08-27 16:02:36 +0800] [15749] [INFO] 工作进程 15749 异常退出 +[2025-08-27 16:02:36 +0800] [15749] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-27 16:02:36 +0800] [15749] [INFO] Worker exiting (pid: 15749) +[2025-08-27 16:02:37 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-27 16:02:37 +0800] [30629] [INFO] Booting worker with pid: 30629 +[2025-08-27 16:02:37 +0800] [30629] [INFO] 工作进程 30629 已启动 +[2025-08-27 16:02:37 +0800] [30629] [INFO] 工作进程 30629 初始化完成 +[2025-08-27 20:26:09 +0800] [15750] [WARNING] Invalid request from ip=79.124.49.202: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr' +[2025-08-28 04:18:45 +0800] [15750] [WARNING] Invalid request from ip=79.124.49.202: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr' +[2025-08-28 07:39:40 +0800] [15746] [WARNING] Invalid request from ip=47.99.100.132: Invalid HTTP request line: '' +[2025-08-28 08:14:10 +0800] [15748] [WARNING] Invalid request from ip=79.124.49.202: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr' +[2025-08-28 12:41:02,160] ERROR in routes: LLM API调用失败: [Errno 5] Input/output error +[2025-08-28 12:41:02,167] ERROR in app: Exception on / [POST] +Traceback (most recent call last): + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 112, in index + conn = pymysql.connect( + ^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 361, in __init__ + self.connect() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 669, in connect + self._request_authentication() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 957, in _request_authentication + auth_packet = self._read_packet() + ^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet + packet.raise_for_error() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error + err.raise_mysql_exception(self._data) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception + raise errorclass(errno, errval) +pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)") + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app + response = self.full_dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request + rv = self.handle_user_exception(e) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function + return cors_after_request(app.make_response(f(*args, **kwargs))) + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request + rv = self.dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 129, in index + print(f"获取用户ID失败: {str(e)}") +OSError: [Errno 5] Input/output error +[2025-08-28 12:41:43,169] ERROR in routes: LLM API调用失败: [Errno 5] Input/output error +[2025-08-28 12:41:43,173] ERROR in app: Exception on / [POST] +Traceback (most recent call last): + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 112, in index + conn = pymysql.connect( + ^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 361, in __init__ + self.connect() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 669, in connect + self._request_authentication() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 957, in _request_authentication + auth_packet = self._read_packet() + ^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet + packet.raise_for_error() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error + err.raise_mysql_exception(self._data) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception + raise errorclass(errno, errval) +pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)") + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app + response = self.full_dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request + rv = self.handle_user_exception(e) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function + return cors_after_request(app.make_response(f(*args, **kwargs))) + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request + rv = self.dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 129, in index + print(f"获取用户ID失败: {str(e)}") +OSError: [Errno 5] Input/output error +[2025-08-28 12:42:44,303] ERROR in routes: LLM API调用失败: [Errno 5] Input/output error +[2025-08-28 12:42:44,306] ERROR in app: Exception on / [POST] +Traceback (most recent call last): + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 112, in index + conn = pymysql.connect( + ^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 361, in __init__ + self.connect() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 669, in connect + self._request_authentication() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 957, in _request_authentication + auth_packet = self._read_packet() + ^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/connections.py", line 775, in _read_packet + packet.raise_for_error() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/protocol.py", line 219, in raise_for_error + err.raise_mysql_exception(self._data) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/pymysql/err.py", line 150, in raise_mysql_exception + raise errorclass(errno, errval) +pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)") + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app + response = self.full_dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request + rv = self.handle_user_exception(e) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function + return cors_after_request(app.make_response(f(*args, **kwargs))) + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request + rv = self.dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 129, in index + print(f"获取用户ID失败: {str(e)}") +OSError: [Errno 5] Input/output error +[2025-08-28 13:36:39 +0800] [15743] [WARNING] Invalid request from ip=3.134.148.59: Invalid HTTP request line: 'SSH-2.0-Go' +[2025-08-28 16:13:49 +0800] [15743] [WARNING] Invalid request from ip=79.124.49.202: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr' +[2025-08-28 16:58:44 +0800] [15750] [WARNING] Invalid request from ip=162.142.125.197: Invalid HTTP Version: (2, 0) +[2025-08-28 16:58:52 +0800] [15746] [WARNING] Invalid request from ip=162.142.125.197: Invalid HTTP Version: (2, 0) +[2025-08-28 18:45:19 +0800] [30629] [WARNING] Invalid request from ip=47.122.84.251: Invalid HTTP request line: '' +[2025-08-28 18:45:19 +0800] [15746] [WARNING] Invalid request from ip=47.122.84.251: Invalid HTTP Version: 'RTSP/1.0' +[2025-08-28 18:45:30 +0800] [15750] [WARNING] Invalid request from ip=47.122.84.251: Invalid HTTP request line: 'HELP' +[2025-08-28 18:45:55 +0800] [30629] [WARNING] Invalid request from ip=47.122.84.251: Invalid HTTP Version: 'SIP/2.0' +[2025-08-29 00:39:51 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:15746) +[2025-08-29 00:39:51 +0800] [15746] [INFO] 工作进程 15746 异常退出 +[2025-08-29 00:39:51 +0800] [15746] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-29 00:39:51 +0800] [15746] [INFO] Worker exiting (pid: 15746) +[2025-08-29 00:39:51 +0800] [22763] [ERROR] Worker (pid:15746) exited with code 120 +[2025-08-29 00:39:51 +0800] [22763] [ERROR] Worker (pid:15746) exited with code 120. +[2025-08-29 00:39:51 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-29 00:39:51 +0800] [14750] [INFO] Booting worker with pid: 14750 +[2025-08-29 00:39:51 +0800] [14750] [INFO] 工作进程 14750 已启动 +[2025-08-29 00:39:51 +0800] [14750] [INFO] 工作进程 14750 初始化完成 +[2025-08-29 00:42:49,859] ERROR in app: Exception on / [GET] +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app + response = self.full_dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request + rv = self.handle_user_exception(e) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function + return cors_after_request(app.make_response(f(*args, **kwargs))) + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request + rv = self.dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 143, in index + return render_template('generate.html', form=form, prompt=None, templates=templates, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 150, in render_template + return _render(app, template, context) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 131, in _render + rv = template.render(context) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render + self.environment.handle_exception() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 1, in top-level template code + {% extends "base.html" %} + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 257, in top-level template code +
+ ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1121, in url_for + return self.handle_url_build_error(error, endpoint, values) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1110, in url_for + rv = url_adapter.build( # type: ignore[union-attr] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/werkzeug/routing/map.py", line 924, in build + raise BuildError(endpoint, values, method, self) +werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'favorites.favorites_page'. Did you mean 'main.delete_template' instead? +[2025-08-29 00:43:19 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:15750) +[2025-08-29 00:43:19 +0800] [15750] [INFO] 工作进程 15750 异常退出 +[2025-08-29 00:43:19 +0800] [15750] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-29 00:43:19 +0800] [15750] [INFO] Worker exiting (pid: 15750) +[2025-08-29 00:43:19 +0800] [22763] [ERROR] Worker (pid:15750) exited with code 120 +[2025-08-29 00:43:19 +0800] [22763] [ERROR] Worker (pid:15750) exited with code 120. +[2025-08-29 00:43:19 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-29 00:43:19 +0800] [7184] [INFO] Booting worker with pid: 7184 +[2025-08-29 00:43:19 +0800] [7184] [INFO] 工作进程 7184 已启动 +[2025-08-29 00:43:19 +0800] [7184] [INFO] 工作进程 7184 初始化完成 +[2025-08-29 00:44:58 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:14750) +[2025-08-29 00:44:58 +0800] [14750] [INFO] 工作进程 14750 异常退出 +[2025-08-29 00:44:58 +0800] [14750] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-29 00:44:58 +0800] [14750] [INFO] Worker exiting (pid: 14750) +[2025-08-29 00:44:58 +0800] [22763] [ERROR] Worker (pid:14750) exited with code 120 +[2025-08-29 00:44:58 +0800] [22763] [ERROR] Worker (pid:14750) exited with code 120. +[2025-08-29 00:44:58 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-29 00:44:58 +0800] [7979] [INFO] Booting worker with pid: 7979 +[2025-08-29 00:44:58 +0800] [7979] [INFO] 工作进程 7979 已启动 +[2025-08-29 00:44:58 +0800] [7979] [INFO] 工作进程 7979 初始化完成 +[2025-08-29 00:47:46 +0800] [7184] [INFO] Worker exiting (pid: 7184) +[2025-08-29 00:47:46 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-29 00:47:46 +0800] [311] [INFO] Booting worker with pid: 311 +[2025-08-29 00:47:46 +0800] [311] [INFO] 工作进程 311 已启动 +[2025-08-29 00:47:46 +0800] [311] [INFO] 工作进程 311 初始化完成 +[2025-08-29 00:49:42 +0800] [311] [INFO] Worker exiting (pid: 311) +[2025-08-29 00:49:42 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-29 00:49:42 +0800] [1319] [INFO] Booting worker with pid: 1319 +[2025-08-29 00:49:42 +0800] [1319] [INFO] 工作进程 1319 已启动 +[2025-08-29 00:49:42 +0800] [1319] [INFO] 工作进程 1319 初始化完成 +[2025-08-29 00:51:01 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:15743) +[2025-08-29 00:51:01 +0800] [15743] [INFO] 工作进程 15743 异常退出 +[2025-08-29 00:51:01 +0800] [15743] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-29 00:51:01 +0800] [15743] [INFO] Worker exiting (pid: 15743) +[2025-08-29 00:51:01 +0800] [22763] [ERROR] Worker (pid:15743) exited with code 120 +[2025-08-29 00:51:01 +0800] [22763] [ERROR] Worker (pid:15743) exited with code 120. +[2025-08-29 00:51:01 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-29 00:51:01 +0800] [24975] [INFO] Booting worker with pid: 24975 +[2025-08-29 00:51:01 +0800] [24975] [INFO] 工作进程 24975 已启动 +[2025-08-29 00:51:01 +0800] [24975] [INFO] 工作进程 24975 初始化完成 +[2025-08-29 00:54:50 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:7979) +[2025-08-29 00:54:50 +0800] [7979] [INFO] 工作进程 7979 异常退出 +[2025-08-29 00:54:50 +0800] [7979] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-29 00:54:50 +0800] [7979] [INFO] Worker exiting (pid: 7979) +[2025-08-29 00:54:51 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-29 00:54:51 +0800] [26600] [INFO] Booting worker with pid: 26600 +[2025-08-29 00:54:51 +0800] [26600] [INFO] 工作进程 26600 已启动 +[2025-08-29 00:54:51 +0800] [26600] [INFO] 工作进程 26600 初始化完成 +[2025-08-29 00:55:57,872] ERROR in app: Exception on / [GET] +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app + response = self.full_dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request + rv = self.handle_user_exception(e) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function + return cors_after_request(app.make_response(f(*args, **kwargs))) + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request + rv = self.dispatch_request() + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request + return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py", line 143, in index + return render_template('generate.html', form=form, prompt=None, templates=templates, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 150, in render_template + return _render(app, template, context) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/templating.py", line 131, in _render + rv = template.render(context) + ^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render + self.environment.handle_exception() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception + raise rewrite_traceback_stack(source=source) + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/generate.html", line 1, in top-level template code + {% extends "base.html" %} + File "/home/renjianbo/aitsc/src/flask_prompt_master/templates/base.html", line 257, in top-level template code + + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1121, in url_for + return self.handle_url_build_error(error, endpoint, values) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/flask/app.py", line 1110, in url_for + rv = url_adapter.build( # type: ignore[union-attr] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/werkzeug/routing/map.py", line 924, in build + raise BuildError(endpoint, values, method, self) +werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'favorites.favorites_page'. Did you mean 'main.delete_template' instead? +[2025-08-29 00:56:28 +0800] [22763] [CRITICAL] WORKER TIMEOUT (pid:15748) +[2025-08-29 00:56:28 +0800] [15748] [INFO] 工作进程 15748 异常退出 +[2025-08-29 00:56:28 +0800] [15748] [ERROR] Error handling request (no URI read) +Traceback (most recent call last): + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/sync.py", line 133, in handle + req = next(parser) + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/parser.py", line 41, in __next__ + self.mesg = self.mesg_class(self.cfg, self.unreader, self.source_addr, self.req_count) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 259, in __init__ + super().__init__(cfg, unreader, peer_addr) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 60, in __init__ + unused = self.parse(self.unreader) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 271, in parse + self.get_data(unreader, buf, stop=True) + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/message.py", line 262, in get_data + data = unreader.read() + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 36, in read + d = self.chunk() + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/http/unreader.py", line 63, in chunk + return self.sock.recv(self.mxchunk) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/gunicorn/workers/base.py", line 204, in handle_abort + sys.exit(1) +SystemExit: 1 +[2025-08-29 00:56:28 +0800] [15748] [INFO] Worker exiting (pid: 15748) +[2025-08-29 00:56:28 +0800] [22763] [INFO] 工作进程 [booting] 即将启动 +[2025-08-29 00:56:28 +0800] [17976] [INFO] Booting worker with pid: 17976 +[2025-08-29 00:56:28 +0800] [17976] [INFO] 工作进程 17976 已启动 +[2025-08-29 00:56:28 +0800] [17976] [INFO] 工作进程 17976 初始化完成 +[2025-08-29 01:01:35 +0800] [1319] [INFO] Worker exiting (pid: 1319) +[2025-08-29 01:01:35 +0800] [17976] [INFO] Worker exiting (pid: 17976) +[2025-08-29 01:01:35 +0800] [30629] [INFO] Worker exiting (pid: 30629) +[2025-08-29 01:01:35 +0800] [22763] [INFO] Handling signal: term +[2025-08-29 01:01:35 +0800] [24975] [INFO] Worker exiting (pid: 24975) +[2025-08-29 01:01:35 +0800] [26600] [INFO] Worker exiting (pid: 26600) +[2025-08-29 01:01:35 +0800] [22763] [ERROR] Worker (pid:1319) was sent SIGTERM! +[2025-08-29 01:01:35 +0800] [22763] [ERROR] Worker (pid:17976) was sent SIGTERM! +[2025-08-29 01:01:36 +0800] [22763] [ERROR] Worker (pid:26600) exited with code 120 +[2025-08-29 01:01:36 +0800] [22763] [ERROR] Worker (pid:26600) exited with code 120. +[2025-08-29 01:01:36 +0800] [22763] [INFO] Shutting down: Master diff --git a/migrations/README b/migrations/README new file mode 100644 index 0000000..0e04844 --- /dev/null +++ b/migrations/README @@ -0,0 +1 @@ +Single-database configuration for Flask. diff --git a/migrations/__pycache__/env.cpython-312.pyc b/migrations/__pycache__/env.cpython-312.pyc new file mode 100644 index 0000000..0447373 Binary files /dev/null and b/migrations/__pycache__/env.cpython-312.pyc differ diff --git a/migrations/alembic.ini b/migrations/alembic.ini new file mode 100644 index 0000000..ec9d45c --- /dev/null +++ b/migrations/alembic.ini @@ -0,0 +1,50 @@ +# A generic, single database configuration. + +[alembic] +# template used to generate migration files +# file_template = %%(rev)s_%%(slug)s + +# set to 'true' to run the environment during +# the 'revision' command, regardless of autogenerate +# revision_environment = false + + +# Logging configuration +[loggers] +keys = root,sqlalchemy,alembic,flask_migrate + +[handlers] +keys = console + +[formatters] +keys = generic + +[logger_root] +level = WARN +handlers = console +qualname = + +[logger_sqlalchemy] +level = WARN +handlers = +qualname = sqlalchemy.engine + +[logger_alembic] +level = INFO +handlers = +qualname = alembic + +[logger_flask_migrate] +level = INFO +handlers = +qualname = flask_migrate + +[handler_console] +class = StreamHandler +args = (sys.stderr,) +level = NOTSET +formatter = generic + +[formatter_generic] +format = %(levelname)-5.5s [%(name)s] %(message)s +datefmt = %H:%M:%S diff --git a/migrations/env.py b/migrations/env.py new file mode 100644 index 0000000..4c97092 --- /dev/null +++ b/migrations/env.py @@ -0,0 +1,113 @@ +import logging +from logging.config import fileConfig + +from flask import current_app + +from alembic import context + +# this is the Alembic Config object, which provides +# access to the values within the .ini file in use. +config = context.config + +# Interpret the config file for Python logging. +# This line sets up loggers basically. +fileConfig(config.config_file_name) +logger = logging.getLogger('alembic.env') + + +def get_engine(): + try: + # this works with Flask-SQLAlchemy<3 and Alchemical + return current_app.extensions['migrate'].db.get_engine() + except (TypeError, AttributeError): + # this works with Flask-SQLAlchemy>=3 + return current_app.extensions['migrate'].db.engine + + +def get_engine_url(): + try: + return get_engine().url.render_as_string(hide_password=False).replace( + '%', '%%') + except AttributeError: + return str(get_engine().url).replace('%', '%%') + + +# add your model's MetaData object here +# for 'autogenerate' support +# from myapp import mymodel +# target_metadata = mymodel.Base.metadata +config.set_main_option('sqlalchemy.url', get_engine_url()) +target_db = current_app.extensions['migrate'].db + +# other values from the config, defined by the needs of env.py, +# can be acquired: +# my_important_option = config.get_main_option("my_important_option") +# ... etc. + + +def get_metadata(): + if hasattr(target_db, 'metadatas'): + return target_db.metadatas[None] + return target_db.metadata + + +def run_migrations_offline(): + """Run migrations in 'offline' mode. + + This configures the context with just a URL + and not an Engine, though an Engine is acceptable + here as well. By skipping the Engine creation + we don't even need a DBAPI to be available. + + Calls to context.execute() here emit the given string to the + script output. + + """ + url = config.get_main_option("sqlalchemy.url") + context.configure( + url=url, target_metadata=get_metadata(), literal_binds=True + ) + + with context.begin_transaction(): + context.run_migrations() + + +def run_migrations_online(): + """Run migrations in 'online' mode. + + In this scenario we need to create an Engine + and associate a connection with the context. + + """ + + # this callback is used to prevent an auto-migration from being generated + # when there are no changes to the schema + # reference: http://alembic.zzzcomputing.com/en/latest/cookbook.html + def process_revision_directives(context, revision, directives): + if getattr(config.cmd_opts, 'autogenerate', False): + script = directives[0] + if script.upgrade_ops.is_empty(): + directives[:] = [] + logger.info('No changes in schema detected.') + + conf_args = current_app.extensions['migrate'].configure_args + if conf_args.get("process_revision_directives") is None: + conf_args["process_revision_directives"] = process_revision_directives + + connectable = get_engine() + + with connectable.connect() as connection: + context.configure( + connection=connection, + target_metadata=get_metadata(), + **conf_args + ) + + with context.begin_transaction(): + context.run_migrations() + + +if context.is_offline_mode(): + run_migrations_offline() +else: + run_migrations_online() diff --git a/migrations/script.py.mako b/migrations/script.py.mako new file mode 100644 index 0000000..2c01563 --- /dev/null +++ b/migrations/script.py.mako @@ -0,0 +1,24 @@ +"""${message} + +Revision ID: ${up_revision} +Revises: ${down_revision | comma,n} +Create Date: ${create_date} + +""" +from alembic import op +import sqlalchemy as sa +${imports if imports else ""} + +# revision identifiers, used by Alembic. +revision = ${repr(up_revision)} +down_revision = ${repr(down_revision)} +branch_labels = ${repr(branch_labels)} +depends_on = ${repr(depends_on)} + + +def upgrade(): + ${upgrades if upgrades else "pass"} + + +def downgrade(): + ${downgrades if downgrades else "pass"} diff --git a/migrations/versions/__pycache__/e1ec7bb6c8ec_add_favorites_table.cpython-312.pyc b/migrations/versions/__pycache__/e1ec7bb6c8ec_add_favorites_table.cpython-312.pyc new file mode 100644 index 0000000..f57d46d Binary files /dev/null and b/migrations/versions/__pycache__/e1ec7bb6c8ec_add_favorites_table.cpython-312.pyc differ diff --git a/migrations/versions/e1ec7bb6c8ec_add_favorites_table.py b/migrations/versions/e1ec7bb6c8ec_add_favorites_table.py new file mode 100644 index 0000000..e9f7885 --- /dev/null +++ b/migrations/versions/e1ec7bb6c8ec_add_favorites_table.py @@ -0,0 +1,568 @@ +"""Add favorites table + +Revision ID: e1ec7bb6c8ec +Revises: +Create Date: 2025-08-29 01:01:11.427346 + +""" +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import mysql + +# revision identifiers, used by Alembic. +revision = 'e1ec7bb6c8ec' +down_revision = None +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('deviceinfo') + with op.batch_alter_table('oauth_member_bind', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('idx_type_openid')) + + op.drop_table('oauth_member_bind') + with op.batch_alter_table('food_stock_change_log', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('idx_food_id')) + + op.drop_table('food_stock_change_log') + with op.batch_alter_table('oauth_access_token', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('idx_expired_time')) + + op.drop_table('oauth_access_token') + with op.batch_alter_table('pay_order', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('idx_member_id_status')) + batch_op.drop_index(batch_op.f('idx_order_sn')) + + op.drop_table('pay_order') + op.drop_table('mendianusertwo') + with op.batch_alter_table('member_comments', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('idx_member_id')) + + op.drop_table('member_comments') + op.drop_table('food') + with op.batch_alter_table('food_cat', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('idx_name')) + + op.drop_table('food_cat') + with op.batch_alter_table('member', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('idx_openid')) + + op.drop_table('member') + with op.batch_alter_table('app_access_log', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('idx_uid')) + + op.drop_table('app_access_log') + with op.batch_alter_table('member_address', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('idx_member_id_status')) + + op.drop_table('member_address') + with op.batch_alter_table('stat_daily_site', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('idx_date')) + + op.drop_table('stat_daily_site') + with op.batch_alter_table('pay_order_callback_data', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('pay_order_id')) + + op.drop_table('pay_order_callback_data') + op.drop_table('images') + with op.batch_alter_table('stat_daily_member', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('idx_date_member_id')) + + op.drop_table('stat_daily_member') + op.drop_table('runoob_tbl') + with op.batch_alter_table('food_sale_change_log', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('idx_food_id_id')) + + op.drop_table('food_sale_change_log') + op.drop_table('dongtai_list') + with op.batch_alter_table('stat_daily_food', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('date_food_id')) + + op.drop_table('stat_daily_food') + op.drop_table('app_error_log') + op.drop_table('mendianuserinfo') + op.drop_table('queue_list') + op.drop_table('wx_share_history') + with op.batch_alter_table('container_orchestration_assistant', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('idx_category')) + batch_op.drop_index(batch_op.f('idx_industry')) + batch_op.drop_index(batch_op.f('idx_profession')) + + op.drop_table('container_orchestration_assistant') + with op.batch_alter_table('member_cart', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('idx_member_id')) + + op.drop_table('member_cart') + with op.batch_alter_table('pay_order_item', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('id_order_id')) + batch_op.drop_index(batch_op.f('idx_food_id')) + + op.drop_table('pay_order_item') + with op.batch_alter_table('user', schema=None) as batch_op: + batch_op.drop_index(batch_op.f('login_name')) + + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table('user', schema=None) as batch_op: + batch_op.create_index(batch_op.f('login_name'), ['login_name'], unique=True) + + op.create_table('pay_order_item', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('pay_order_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='订单id'), + sa.Column('member_id', mysql.BIGINT(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='会员id'), + sa.Column('quantity', mysql.INTEGER(display_width=11), server_default=sa.text("'1'"), autoincrement=False, nullable=False, comment='购买数量 默认1份'), + sa.Column('price', mysql.DECIMAL(precision=10, scale=2), server_default=sa.text("'0.00'"), nullable=False, comment='商品总价格,售价 * 数量'), + sa.Column('food_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='美食表id'), + sa.Column('note', mysql.TEXT(), nullable=False, comment='备注信息'), + sa.Column('status', mysql.TINYINT(display_width=1), server_default=sa.text("'1'"), autoincrement=False, nullable=False, comment='状态:1:成功 0 失败'), + sa.Column('updated_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='最近一次更新时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='订单详情表', + mysql_comment='订单详情表', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('pay_order_item', schema=None) as batch_op: + batch_op.create_index(batch_op.f('idx_food_id'), ['food_id'], unique=False) + batch_op.create_index(batch_op.f('id_order_id'), ['pay_order_id'], unique=False) + + op.create_table('member_cart', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('member_id', mysql.BIGINT(display_width=20), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='会员id'), + sa.Column('food_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='商品id'), + sa.Column('quantity', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='数量'), + sa.Column('updated_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='最后一次更新时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='购物车', + mysql_comment='购物车', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('member_cart', schema=None) as batch_op: + batch_op.create_index(batch_op.f('idx_member_id'), ['member_id'], unique=False) + + op.create_table('container_orchestration_assistant', + sa.Column('id', mysql.BIGINT(display_width=20), autoincrement=True, nullable=False, comment='助手ID'), + sa.Column('name', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='助手名称'), + sa.Column('description', mysql.VARCHAR(length=255), server_default=sa.text("''"), nullable=False, comment='助手描述'), + sa.Column('category', mysql.VARCHAR(length=50), server_default=sa.text("''"), nullable=False, comment='分类(架构设计)'), + sa.Column('industry', mysql.VARCHAR(length=50), server_default=sa.text("''"), nullable=False, comment='行业(技术研发)'), + sa.Column('profession', mysql.VARCHAR(length=50), server_default=sa.text("''"), nullable=False, comment='职业(高级工程师)'), + sa.Column('sub_category', mysql.VARCHAR(length=50), server_default=sa.text("''"), nullable=False, comment='子分类(容器编排)'), + sa.Column('system_prompt', mysql.TEXT(), nullable=False, comment='系统提示词(容器化需求转换规则)'), + sa.Column('status', mysql.TINYINT(display_width=1), server_default=sa.text("'1'"), autoincrement=False, nullable=False, comment='状态:1-有效,0-无效'), + sa.Column('updated_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'), nullable=False, comment='最后一次更新时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='创建时间'), + sa.PrimaryKeyConstraint('id'), + comment='Python容器编排助手表', + mysql_comment='Python容器编排助手表', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('container_orchestration_assistant', schema=None) as batch_op: + batch_op.create_index(batch_op.f('idx_profession'), ['profession'], unique=False) + batch_op.create_index(batch_op.f('idx_industry'), ['industry'], unique=False) + batch_op.create_index(batch_op.f('idx_category'), ['category'], unique=False) + + op.create_table('wx_share_history', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('member_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='会员id'), + sa.Column('share_url', mysql.VARCHAR(length=200), server_default=sa.text("''"), nullable=False, comment='分享的页面url'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='创建时间'), + sa.PrimaryKeyConstraint('id'), + comment='微信分享记录', + mysql_comment='微信分享记录', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + op.create_table('queue_list', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('queue_name', mysql.VARCHAR(length=30), server_default=sa.text("''"), nullable=False, comment='队列名字'), + sa.Column('data', mysql.VARCHAR(length=500), server_default=sa.text("''"), nullable=False, comment='队列数据'), + sa.Column('status', mysql.TINYINT(display_width=1), server_default=sa.text("'-1'"), autoincrement=False, nullable=False, comment='状态 -1 待处理 1 已处理'), + sa.Column('updated_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='最后一次更新时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='事件队列表', + mysql_comment='事件队列表', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + op.create_table('mendianuserinfo', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('nickname', mysql.VARCHAR(length=20), server_default=sa.text("''"), nullable=False, comment='会员名'), + sa.Column('mobile', mysql.VARCHAR(length=20), server_default=sa.text("''"), nullable=False, comment='会员手机号码'), + sa.Column('storename', mysql.VARCHAR(length=20), server_default=sa.text("'0'"), nullable=False, comment='店铺名称'), + sa.Column('updated_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='最后一次更新时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='会员表', + mysql_comment='会员表', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + op.create_table('app_error_log', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('referer_url', mysql.VARCHAR(length=255), server_default=sa.text("''"), nullable=False, comment='当前访问的refer'), + sa.Column('target_url', mysql.VARCHAR(length=255), server_default=sa.text("''"), nullable=False, comment='访问的url'), + sa.Column('query_params', mysql.TEXT(), nullable=False, comment='get和post参数'), + sa.Column('content', mysql.LONGTEXT(), nullable=False, comment='日志内容'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='app错误日表', + mysql_comment='app错误日表', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + op.create_table('stat_daily_food', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('date', sa.DATE(), nullable=False), + sa.Column('food_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='菜品id'), + sa.Column('total_count', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='售卖总数量'), + sa.Column('total_pay_money', mysql.DECIMAL(precision=10, scale=2), server_default=sa.text("'0.00'"), nullable=False, comment='总售卖金额'), + sa.Column('updated_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='最后一次更新时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='书籍售卖日统计', + mysql_comment='书籍售卖日统计', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('stat_daily_food', schema=None) as batch_op: + batch_op.create_index(batch_op.f('date_food_id'), ['date', 'food_id'], unique=False) + + op.create_table('dongtai_list', + sa.Column('listid', mysql.INTEGER(display_width=10, unsigned=True), autoincrement=True, nullable=False), + sa.Column('date', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False), + sa.Column('title', mysql.VARCHAR(length=40), server_default=sa.text("''"), nullable=False), + sa.Column('imgSrc', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False), + sa.Column('avatar', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False), + sa.Column('content', mysql.VARCHAR(length=128), server_default=sa.text("''"), nullable=False), + sa.Column('reading', mysql.VARCHAR(length=128), server_default=sa.text("''"), nullable=False), + sa.Column('collection', mysql.VARCHAR(length=128), server_default=sa.text("''"), nullable=False), + sa.Column('headImgSrc', mysql.VARCHAR(length=100), nullable=False), + sa.Column('author', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False), + sa.Column('dateTime', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False), + sa.Column('postId', mysql.INTEGER(display_width=10), autoincrement=False, nullable=False), + sa.PrimaryKeyConstraint('listid'), + mysql_default_charset='utf8', + mysql_engine='InnoDB' + ) + op.create_table('food_sale_change_log', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('food_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='商品id'), + sa.Column('quantity', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='售卖数量'), + sa.Column('price', mysql.DECIMAL(precision=10, scale=2), server_default=sa.text("'0.00'"), nullable=False, comment='售卖金额'), + sa.Column('member_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='会员id'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='售卖时间'), + sa.PrimaryKeyConstraint('id'), + comment='商品销售情况', + mysql_comment='商品销售情况', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('food_sale_change_log', schema=None) as batch_op: + batch_op.create_index(batch_op.f('idx_food_id_id'), ['food_id'], unique=False) + + op.create_table('runoob_tbl', + sa.Column('runoob_id', mysql.INTEGER(display_width=10, unsigned=True), autoincrement=True, nullable=False), + sa.Column('runoob_title', mysql.VARCHAR(length=100), nullable=False), + sa.Column('runoob_author', mysql.VARCHAR(length=40), nullable=False), + sa.Column('submission_date', sa.DATE(), nullable=True), + sa.PrimaryKeyConstraint('runoob_id'), + mysql_default_charset='utf8', + mysql_engine='InnoDB' + ) + op.create_table('stat_daily_member', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('date', sa.DATE(), nullable=False, comment='日期'), + sa.Column('member_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='会员id'), + sa.Column('total_shared_count', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='当日分享总次数'), + sa.Column('total_pay_money', mysql.DECIMAL(precision=10, scale=2), server_default=sa.text("'0.00'"), nullable=False, comment='当日付款总金额'), + sa.Column('updated_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='最后一次更新时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='会员日统计', + mysql_comment='会员日统计', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('stat_daily_member', schema=None) as batch_op: + batch_op.create_index(batch_op.f('idx_date_member_id'), ['date', 'member_id'], unique=False) + + op.create_table('images', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('file_key', mysql.VARCHAR(length=60), server_default=sa.text("''"), nullable=False, comment='文件名'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + op.create_table('pay_order_callback_data', + sa.Column('id', mysql.INTEGER(display_width=11), autoincrement=True, nullable=False), + sa.Column('pay_order_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='支付订单id'), + sa.Column('pay_data', mysql.TEXT(), nullable=False, comment='支付回调信息'), + sa.Column('refund_data', mysql.TEXT(), nullable=False, comment='退款回调信息'), + sa.Column('updated_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='最后一次更新时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='创建时间'), + sa.PrimaryKeyConstraint('id'), + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('pay_order_callback_data', schema=None) as batch_op: + batch_op.create_index(batch_op.f('pay_order_id'), ['pay_order_id'], unique=True) + + op.create_table('stat_daily_site', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('date', sa.DATE(), nullable=False, comment='日期'), + sa.Column('total_pay_money', mysql.DECIMAL(precision=10, scale=2), server_default=sa.text("'0.00'"), nullable=False, comment='当日应收总金额'), + sa.Column('total_member_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=False, comment='会员总数'), + sa.Column('total_new_member_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=False, comment='当日新增会员数'), + sa.Column('total_order_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=False, comment='当日订单数'), + sa.Column('total_shared_count', mysql.INTEGER(display_width=11), autoincrement=False, nullable=False), + sa.Column('updated_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='最后一次更新时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='全站日统计', + mysql_comment='全站日统计', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('stat_daily_site', schema=None) as batch_op: + batch_op.create_index(batch_op.f('idx_date'), ['date'], unique=False) + + op.create_table('member_address', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('member_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='会员id'), + sa.Column('nickname', mysql.VARCHAR(length=20), server_default=sa.text("''"), nullable=False, comment='收货人姓名'), + sa.Column('mobile', mysql.VARCHAR(length=11), server_default=sa.text("''"), nullable=False, comment='收货人手机号码'), + sa.Column('province_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='省id'), + sa.Column('province_str', mysql.VARCHAR(length=50), server_default=sa.text("''"), nullable=False, comment='省名称'), + sa.Column('city_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='城市id'), + sa.Column('city_str', mysql.VARCHAR(length=50), server_default=sa.text("''"), nullable=False, comment='市名称'), + sa.Column('area_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='区域id'), + sa.Column('area_str', mysql.VARCHAR(length=50), server_default=sa.text("''"), nullable=False, comment='区域名称'), + sa.Column('address', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='详细地址'), + sa.Column('status', mysql.TINYINT(display_width=1), server_default=sa.text("'1'"), autoincrement=False, nullable=False, comment='是否有效 1:有效 0:无效'), + sa.Column('is_default', mysql.TINYINT(display_width=1), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='默认地址'), + sa.Column('updated_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='最后一次更新时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='会员收货地址', + mysql_comment='会员收货地址', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('member_address', schema=None) as batch_op: + batch_op.create_index(batch_op.f('idx_member_id_status'), ['member_id', 'status'], unique=False) + + op.create_table('app_access_log', + sa.Column('id', mysql.INTEGER(display_width=11), autoincrement=True, nullable=False), + sa.Column('uid', mysql.BIGINT(display_width=20), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='uid'), + sa.Column('referer_url', mysql.VARCHAR(length=255), server_default=sa.text("''"), nullable=False, comment='当前访问的refer'), + sa.Column('target_url', mysql.VARCHAR(length=255), server_default=sa.text("''"), nullable=False, comment='访问的url'), + sa.Column('query_params', mysql.TEXT(), nullable=False, comment='get和post参数'), + sa.Column('ua', mysql.VARCHAR(length=255), server_default=sa.text("''"), nullable=False, comment='访问ua'), + sa.Column('ip', mysql.VARCHAR(length=32), server_default=sa.text("''"), nullable=False, comment='访问ip'), + sa.Column('note', mysql.VARCHAR(length=1000), server_default=sa.text("''"), nullable=False, comment='json格式备注字段'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False), + sa.PrimaryKeyConstraint('id'), + comment='用户访问记录表', + mysql_comment='用户访问记录表', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('app_access_log', schema=None) as batch_op: + batch_op.create_index(batch_op.f('idx_uid'), ['uid'], unique=False) + + op.create_table('member', + sa.Column('id', mysql.INTEGER(display_width=11), autoincrement=True, nullable=False), + sa.Column('openid', mysql.VARCHAR(length=80), nullable=False, comment='微信openid'), + sa.Column('nickname', mysql.VARCHAR(length=100), nullable=True, comment='用户昵称'), + sa.Column('mobile', mysql.VARCHAR(length=11), nullable=True, comment='手机号码'), + sa.Column('sex', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='性别 1:男 2:女'), + sa.Column('avatar', mysql.VARCHAR(length=200), server_default=sa.text("''"), nullable=False, comment='头像'), + sa.Column('salt', mysql.VARCHAR(length=32), nullable=False, comment='随机加密串'), + sa.Column('reg_ip', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='注册IP'), + sa.Column('status', mysql.INTEGER(display_width=11), server_default=sa.text("'1'"), autoincrement=False, nullable=False, comment='状态 1:有效 0:无效'), + sa.Column('updated_time', mysql.DATETIME(), server_default=sa.text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'), nullable=False, comment='最后一次更新时间'), + sa.Column('created_time', mysql.DATETIME(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='创建时间'), + sa.PrimaryKeyConstraint('id'), + comment='会员表', + mysql_comment='会员表', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('member', schema=None) as batch_op: + batch_op.create_index(batch_op.f('idx_openid'), ['openid'], unique=False) + + op.create_table('food_cat', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('name', mysql.VARCHAR(length=50), server_default=sa.text("''"), nullable=False, comment='类别名称'), + sa.Column('weight', mysql.TINYINT(display_width=4), server_default=sa.text("'1'"), autoincrement=False, nullable=False, comment='权重'), + sa.Column('status', mysql.TINYINT(display_width=1), server_default=sa.text("'1'"), autoincrement=False, nullable=False, comment='状态 1:有效 0:无效'), + sa.Column('updated_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='最后一次更新时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='食品分类', + mysql_comment='食品分类', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('food_cat', schema=None) as batch_op: + batch_op.create_index(batch_op.f('idx_name'), ['id'], unique=True) + + op.create_table('food', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('cat_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='分类id'), + sa.Column('name', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='书籍名称'), + sa.Column('price', mysql.DECIMAL(precision=10, scale=2), server_default=sa.text("'0.00'"), nullable=False, comment='售卖金额'), + sa.Column('main_image', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='主图'), + sa.Column('summary', mysql.VARCHAR(length=10000), server_default=sa.text("''"), nullable=False, comment='描述'), + sa.Column('stock', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='库存量'), + sa.Column('tags', mysql.VARCHAR(length=200), server_default=sa.text("''"), nullable=False, comment='tag关键字,以","连接'), + sa.Column('status', mysql.TINYINT(display_width=1), server_default=sa.text("'1'"), autoincrement=False, nullable=False, comment='状态 1:有效 0:无效'), + sa.Column('month_count', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='月销售数量'), + sa.Column('total_count', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='总销售量'), + sa.Column('view_count', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='总浏览次数'), + sa.Column('comment_count', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='总评论量'), + sa.Column('updated_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='最后更新时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='最后插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='食品表', + mysql_comment='食品表', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + op.create_table('member_comments', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('member_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='会员id'), + sa.Column('food_ids', mysql.VARCHAR(length=200), server_default=sa.text("''"), nullable=False, comment='商品ids'), + sa.Column('pay_order_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='订单id'), + sa.Column('score', mysql.TINYINT(display_width=4), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='评分'), + sa.Column('content', mysql.VARCHAR(length=200), server_default=sa.text("''"), nullable=False, comment='评论内容'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='会员评论表', + mysql_comment='会员评论表', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('member_comments', schema=None) as batch_op: + batch_op.create_index(batch_op.f('idx_member_id'), ['member_id'], unique=False) + + op.create_table('mendianusertwo', + sa.Column('id', mysql.INTEGER(display_width=100), server_default=sa.text("'0'"), autoincrement=False, nullable=False), + sa.Column('name', mysql.VARCHAR(length=100), nullable=False), + sa.Column('phone', mysql.VARCHAR(length=100), nullable=False), + sa.Column('storename', mysql.VARCHAR(length=100), nullable=False), + sa.PrimaryKeyConstraint('id'), + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + op.create_table('pay_order', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('order_sn', mysql.VARCHAR(length=40), server_default=sa.text("''"), nullable=False, comment='随机订单号'), + sa.Column('member_id', mysql.BIGINT(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='会员id'), + sa.Column('total_price', mysql.DECIMAL(precision=10, scale=2), server_default=sa.text("'0.00'"), nullable=False, comment='订单应付金额'), + sa.Column('yun_price', mysql.DECIMAL(precision=10, scale=2), server_default=sa.text("'0.00'"), nullable=False, comment='运费金额'), + sa.Column('pay_price', mysql.DECIMAL(precision=10, scale=2), server_default=sa.text("'0.00'"), nullable=False, comment='订单实付金额'), + sa.Column('pay_sn', mysql.VARCHAR(length=128), server_default=sa.text("''"), nullable=False, comment='第三方流水号'), + sa.Column('prepay_id', mysql.VARCHAR(length=128), server_default=sa.text("''"), nullable=False, comment='第三方预付id'), + sa.Column('note', mysql.TEXT(), nullable=False, comment='备注信息'), + sa.Column('status', mysql.TINYINT(display_width=4), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='1:支付完成 0 无效 -1 申请退款 -2 退款中 -9 退款成功 -8 待支付 -7 完成支付待确认'), + sa.Column('express_status', mysql.TINYINT(display_width=4), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='快递状态,-8 待支付 -7 已付款待发货 1:确认收货 0:失败'), + sa.Column('express_address_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='快递地址id'), + sa.Column('express_info', mysql.VARCHAR(length=1000), server_default=sa.text("''"), nullable=False, comment='快递信息'), + sa.Column('comment_status', mysql.TINYINT(display_width=1), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='评论状态'), + sa.Column('pay_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='付款到账时间'), + sa.Column('updated_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='最近一次更新时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='在线购买订单表', + mysql_comment='在线购买订单表', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('pay_order', schema=None) as batch_op: + batch_op.create_index(batch_op.f('idx_order_sn'), ['order_sn'], unique=True) + batch_op.create_index(batch_op.f('idx_member_id_status'), ['member_id', 'status'], unique=False) + + op.create_table('oauth_access_token', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('access_token', mysql.VARCHAR(length=600), server_default=sa.text("''"), nullable=False), + sa.Column('expired_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='过期时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='微信的access_token 用户调用其他接口的', + mysql_comment='微信的access_token 用户调用其他接口的', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('oauth_access_token', schema=None) as batch_op: + batch_op.create_index(batch_op.f('idx_expired_time'), ['expired_time'], unique=False) + + op.create_table('food_stock_change_log', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('food_id', mysql.INTEGER(display_width=11), autoincrement=False, nullable=False, comment='商品id'), + sa.Column('unit', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='变更多少'), + sa.Column('total_stock', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='变更之后总量'), + sa.Column('note', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='备注字段'), + sa.Column('created_time', mysql.DATETIME(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='数据库存变更表', + mysql_comment='数据库存变更表', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('food_stock_change_log', schema=None) as batch_op: + batch_op.create_index(batch_op.f('idx_food_id'), ['food_id'], unique=False) + + op.create_table('oauth_member_bind', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('member_id', mysql.INTEGER(display_width=11), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='会员id'), + sa.Column('client_type', mysql.VARCHAR(length=20), server_default=sa.text("''"), nullable=False, comment='客户端来源类型。qq,weibo,weixin'), + sa.Column('type', mysql.TINYINT(display_width=3), server_default=sa.text("'0'"), autoincrement=False, nullable=False, comment='类型 type 1:wechat '), + sa.Column('openid', mysql.VARCHAR(length=80), server_default=sa.text("''"), nullable=False, comment='第三方id'), + sa.Column('unionid', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False), + sa.Column('extra', mysql.TEXT(), nullable=False, comment='额外字段'), + sa.Column('updated_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='最后更新时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='第三方登录绑定关系', + mysql_comment='第三方登录绑定关系', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + with op.batch_alter_table('oauth_member_bind', schema=None) as batch_op: + batch_op.create_index(batch_op.f('idx_type_openid'), ['type', 'openid'], unique=False) + + op.create_table('deviceinfo', + sa.Column('id', mysql.INTEGER(display_width=11, unsigned=True), autoincrement=True, nullable=False), + sa.Column('nickname', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='会员名'), + sa.Column('jiguang', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='极光id'), + sa.Column('version', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='版本号'), + sa.Column('xiaoqu', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='小区'), + sa.Column('louhao', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='楼号'), + sa.Column('danyuan', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='单元号'), + sa.Column('jingdu', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='经度'), + sa.Column('weidu', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='纬度'), + sa.Column('snnum', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='sn号'), + sa.Column('mobile', mysql.VARCHAR(length=11), server_default=sa.text("''"), nullable=False, comment='会员手机号码'), + sa.Column('reg_ip', mysql.VARCHAR(length=100), server_default=sa.text("''"), nullable=False, comment='注册ip'), + sa.Column('updated_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='最后一次更新时间'), + sa.Column('created_time', mysql.TIMESTAMP(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False, comment='插入时间'), + sa.PrimaryKeyConstraint('id'), + comment='设备注册表', + mysql_comment='设备注册表', + mysql_default_charset='utf8mb4', + mysql_engine='InnoDB' + ) + # ### end Alembic commands ### diff --git a/run_dev.py b/run_dev.py index b6494f8..5fb9ec0 100644 --- a/run_dev.py +++ b/run_dev.py @@ -3,4 +3,4 @@ from src.flask_prompt_master import create_app app = create_app() if __name__ == '__main__': - app.run(host='0.0.0.0', port=5000, debug=True) \ No newline at end of file + app.run(host='0.0.0.0', port=5002, debug=True) \ No newline at end of file diff --git a/run_dev_fixed.py b/run_dev_fixed.py index 25fd1cf..c6878a8 100644 --- a/run_dev_fixed.py +++ b/run_dev_fixed.py @@ -8,7 +8,7 @@ if __name__ == '__main__': app = create_app() app.run( host='0.0.0.0', # 绑定到所有地址 - port=5000, + port=5002, debug=True, use_reloader=False # 禁用自动重载,避免连接问题 ) diff --git a/run_production_public.py b/run_production_public.py index 37df20e..0afa03f 100644 --- a/run_production_public.py +++ b/run_production_public.py @@ -17,15 +17,15 @@ def main(): app = create_app() # 获取端口号(支持环境变量配置) - port = int(os.environ.get('PORT', 5001)) + port = int(os.environ.get('PORT', 5002)) print("=" * 60) print("🚀 Flask 提示词大师 - 生产环境启动(外网访问)") print("=" * 60) print(f"📊 环境: {os.environ.get('FLASK_ENV', 'unknown')}") print(f"🌐 服务器: Flask 内置服务器") - print(f"🔗 内网地址: http://10.0.4.13:{port}") - print(f"🌍 外网地址: http://101.43.95.130:{port}") + print(f"🔗 内网地址: http://10.0.4.13:5002") + print(f"🌍 外网地址: http://101.43.95.130:5002") print(f"📝 日志: 控制台输出") print("=" * 60) print("✅ 服务器启动中...") diff --git a/run_production_simple.py b/run_production_simple.py index 98095bf..23462ad 100644 --- a/run_production_simple.py +++ b/run_production_simple.py @@ -33,7 +33,7 @@ def main(): # 启动 Flask 内置服务器(生产模式配置) app.run( host='0.0.0.0', - port=5001, # 修改端口为5001 + port=5002, # 修改端口为5002 debug=False, # 生产环境关闭调试 threaded=True, # 启用多线程 use_reloader=False # 关闭自动重载 diff --git a/src/flask_prompt_master/__pycache__/__init__.cpython-312.pyc b/src/flask_prompt_master/__pycache__/__init__.cpython-312.pyc index a5f8e72..bf8f8f0 100644 Binary files a/src/flask_prompt_master/__pycache__/__init__.cpython-312.pyc and b/src/flask_prompt_master/__pycache__/__init__.cpython-312.pyc differ diff --git a/src/flask_prompt_master/__pycache__/__init__.cpython-36.pyc b/src/flask_prompt_master/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..fc66c3a Binary files /dev/null and b/src/flask_prompt_master/__pycache__/__init__.cpython-36.pyc differ diff --git a/src/flask_prompt_master/__pycache__/config.cpython-312.pyc b/src/flask_prompt_master/__pycache__/config.cpython-312.pyc index 7463bc9..581133f 100644 Binary files a/src/flask_prompt_master/__pycache__/config.cpython-312.pyc and b/src/flask_prompt_master/__pycache__/config.cpython-312.pyc differ diff --git a/src/flask_prompt_master/forms/__pycache__/__init__.cpython-312.pyc b/src/flask_prompt_master/forms/__pycache__/__init__.cpython-312.pyc index ce089b4..1062be3 100644 Binary files a/src/flask_prompt_master/forms/__pycache__/__init__.cpython-312.pyc and b/src/flask_prompt_master/forms/__pycache__/__init__.cpython-312.pyc differ diff --git a/src/flask_prompt_master/forms/__pycache__/forms.cpython-312.pyc b/src/flask_prompt_master/forms/__pycache__/forms.cpython-312.pyc index 44ac0a1..c99ee1c 100644 Binary files a/src/flask_prompt_master/forms/__pycache__/forms.cpython-312.pyc and b/src/flask_prompt_master/forms/__pycache__/forms.cpython-312.pyc differ diff --git a/src/flask_prompt_master/models/__pycache__/__init__.cpython-312.pyc b/src/flask_prompt_master/models/__pycache__/__init__.cpython-312.pyc index efedd29..531e32d 100644 Binary files a/src/flask_prompt_master/models/__pycache__/__init__.cpython-312.pyc and b/src/flask_prompt_master/models/__pycache__/__init__.cpython-312.pyc differ diff --git a/src/flask_prompt_master/models/__pycache__/favorites.cpython-312.pyc b/src/flask_prompt_master/models/__pycache__/favorites.cpython-312.pyc index 0d11e38..d967b66 100644 Binary files a/src/flask_prompt_master/models/__pycache__/favorites.cpython-312.pyc and b/src/flask_prompt_master/models/__pycache__/favorites.cpython-312.pyc differ diff --git a/src/flask_prompt_master/models/__pycache__/models.cpython-312.pyc b/src/flask_prompt_master/models/__pycache__/models.cpython-312.pyc index 40f6fa8..b7b3367 100644 Binary files a/src/flask_prompt_master/models/__pycache__/models.cpython-312.pyc and b/src/flask_prompt_master/models/__pycache__/models.cpython-312.pyc differ diff --git a/src/flask_prompt_master/routes/__pycache__/__init__.cpython-312.pyc b/src/flask_prompt_master/routes/__pycache__/__init__.cpython-312.pyc index 9378eda..b9286c9 100644 Binary files a/src/flask_prompt_master/routes/__pycache__/__init__.cpython-312.pyc and b/src/flask_prompt_master/routes/__pycache__/__init__.cpython-312.pyc differ diff --git a/src/flask_prompt_master/routes/__pycache__/auth.cpython-312.pyc b/src/flask_prompt_master/routes/__pycache__/auth.cpython-312.pyc index 7919f1e..00a2bec 100644 Binary files a/src/flask_prompt_master/routes/__pycache__/auth.cpython-312.pyc and b/src/flask_prompt_master/routes/__pycache__/auth.cpython-312.pyc differ diff --git a/src/flask_prompt_master/routes/__pycache__/favorites.cpython-312.pyc b/src/flask_prompt_master/routes/__pycache__/favorites.cpython-312.pyc index d9928e6..285bc9b 100644 Binary files a/src/flask_prompt_master/routes/__pycache__/favorites.cpython-312.pyc and b/src/flask_prompt_master/routes/__pycache__/favorites.cpython-312.pyc differ diff --git a/src/flask_prompt_master/routes/__pycache__/routes.cpython-312.pyc b/src/flask_prompt_master/routes/__pycache__/routes.cpython-312.pyc index 6e305d1..9084971 100644 Binary files a/src/flask_prompt_master/routes/__pycache__/routes.cpython-312.pyc and b/src/flask_prompt_master/routes/__pycache__/routes.cpython-312.pyc differ diff --git a/src/flask_prompt_master/services/__pycache__/__init__.cpython-312.pyc b/src/flask_prompt_master/services/__pycache__/__init__.cpython-312.pyc index 82b1b12..c403d90 100644 Binary files a/src/flask_prompt_master/services/__pycache__/__init__.cpython-312.pyc and b/src/flask_prompt_master/services/__pycache__/__init__.cpython-312.pyc differ diff --git a/src/flask_prompt_master/services/__pycache__/auth_service.cpython-312.pyc b/src/flask_prompt_master/services/__pycache__/auth_service.cpython-312.pyc index 2e797b6..b04567a 100644 Binary files a/src/flask_prompt_master/services/__pycache__/auth_service.cpython-312.pyc and b/src/flask_prompt_master/services/__pycache__/auth_service.cpython-312.pyc differ diff --git a/src/flask_prompt_master/services/__pycache__/favorite_service.cpython-312.pyc b/src/flask_prompt_master/services/__pycache__/favorite_service.cpython-312.pyc index fbc8a10..bac5462 100644 Binary files a/src/flask_prompt_master/services/__pycache__/favorite_service.cpython-312.pyc and b/src/flask_prompt_master/services/__pycache__/favorite_service.cpython-312.pyc differ