From 733a0487ff1db285956ba6e03a82a55a3e495ef0 Mon Sep 17 00:00:00 2001 From: rjb <263303411@qq.com> Date: Mon, 8 Sep 2025 08:07:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E9=A5=AD=E8=8F=9C=E8=A7=84?= =?UTF-8?q?=E5=88=92=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __pycache__/gunicorn.conf.cpython-312.pyc | Bin 2894 -> 2894 bytes logs/app.log | 111 ++ logs/gunicorn.pid | 2 +- logs/gunicorn_access.log | 228 ++++ logs/gunicorn_error.log | 1013 +++++++++++++++++ src/flask_prompt_master/__init__.py | 4 + .../__pycache__/__init__.cpython-312.pyc | Bin 2447 -> 2591 bytes .../models/__pycache__/models.cpython-312.pyc | Bin 7666 -> 9610 bytes src/flask_prompt_master/models/models.py | 30 +- .../__pycache__/meal_planning.cpython-312.pyc | Bin 0 -> 14661 bytes .../routes/__pycache__/routes.cpython-312.pyc | Bin 47341 -> 47341 bytes .../routes/meal_planning.py | 377 ++++++ src/flask_prompt_master/templates/base.html | 8 + .../templates/meal_planning.html | 452 ++++++++ .../templates/meal_planning_history.html | 671 +++++++++++ 系统维护常用语.txt | 50 +- 16 files changed, 2943 insertions(+), 3 deletions(-) create mode 100644 src/flask_prompt_master/routes/__pycache__/meal_planning.cpython-312.pyc create mode 100644 src/flask_prompt_master/routes/meal_planning.py create mode 100644 src/flask_prompt_master/templates/meal_planning.html create mode 100644 src/flask_prompt_master/templates/meal_planning_history.html diff --git a/__pycache__/gunicorn.conf.cpython-312.pyc b/__pycache__/gunicorn.conf.cpython-312.pyc index 37a4b1833f57a8dfc112453c854c983413a56750..35c6452e480fccda0a90565337f774db4756e72e 100644 GIT binary patch delta 19 ZcmX>nc211zG%qg~0}vF>+sNg@4FEQa1ls@r delta 19 ZcmX>nc211zG%qg~0}w2qyOGO<8vr-T1rPuL diff --git a/logs/app.log b/logs/app.log index b10fd51..4839cbd 100644 --- a/logs/app.log +++ b/logs/app.log @@ -227,3 +227,114 @@ werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'favori 2025-09-07 22:48:23,084 ERROR: LLM API调用失败: [Errno 5] Input/output error [in /home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py:76] 2025-09-07 22:56:52,213 ERROR: LLM API调用失败: [Errno 5] Input/output error [in /home/renjianbo/aitsc/src/flask_prompt_master/routes/routes.py:76] 2025-09-07 22:59:46,172 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-07 23:14:14,284 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-07 23:48:01,891 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-07 23:56:48,923 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-08 00:07:28,253 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-08 00:09:04,523 ERROR: 生成饭菜规划时出错: Request timed out. [in /home/renjianbo/aitsc/src/flask_prompt_master/routes/meal_planning.py:87] +2025-09-08 00:09:04,532 ERROR: API调用失败: 饭菜规划生成失败: Request timed out. [in /home/renjianbo/aitsc/src/flask_prompt_master/routes/meal_planning.py:145] +2025-09-08 00:18:24,943 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-08 00:20:05,097 ERROR: 生成饭菜规划时出错: Request timed out. [in /home/renjianbo/aitsc/src/flask_prompt_master/routes/meal_planning.py:87] +2025-09-08 00:20:05,108 ERROR: API调用失败: 饭菜规划生成失败: Request timed out. [in /home/renjianbo/aitsc/src/flask_prompt_master/routes/meal_planning.py:145] +2025-09-08 00:24:50,917 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-08 07:18:02,328 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-08 07:19:52,507 ERROR: 生成饭菜规划时出错: Request timed out. [in /home/renjianbo/aitsc/src/flask_prompt_master/routes/meal_planning.py:87] +2025-09-08 07:19:52,510 ERROR: API调用失败: 饭菜规划生成失败: Request timed out. [in /home/renjianbo/aitsc/src/flask_prompt_master/routes/meal_planning.py:145] +2025-09-08 07:22:41,781 ERROR: 生成饭菜规划时出错: Request timed out. [in /home/renjianbo/aitsc/src/flask_prompt_master/routes/meal_planning.py:87] +2025-09-08 07:22:41,781 ERROR: API调用失败: 饭菜规划生成失败: Request timed out. [in /home/renjianbo/aitsc/src/flask_prompt_master/routes/meal_planning.py:145] +2025-09-08 07:28:46,017 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-08 07:30:57,894 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-08 07:35:59,589 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-08 07:37:07,801 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-08 07:50:44,232 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-08 07:51:26,972 ERROR: Exception on /meal-planning/history [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/meal_planning.py", line 91, in meal_planning_history + return render_template('meal_planning_history.html') + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + 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/meal_planning_history.html", line 319, 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 'index'. Did you mean 'main.index' instead? +2025-09-08 07:52:06,776 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-08 07:52:12,623 ERROR: Exception on /meal-planning/history [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/meal_planning.py", line 91, in meal_planning_history + return render_template('meal_planning_history.html') + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + 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/meal_planning_history.html", line 347, 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'. Did you mean 'favorites.add_favorite' instead? +2025-09-08 07:53:06,694 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-08 07:59:21,158 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-08 08:01:01,400 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] +2025-09-08 08:01:49,955 ERROR: 生成饭菜规划时出错: Request timed out. [in /home/renjianbo/aitsc/src/flask_prompt_master/routes/meal_planning.py:93] +2025-09-08 08:01:49,968 ERROR: API调用失败: 饭菜规划生成失败: Request timed out. [in /home/renjianbo/aitsc/src/flask_prompt_master/routes/meal_planning.py:156] +2025-09-08 08:03:01,032 INFO: 应用启动 [in /home/renjianbo/aitsc/config/base.py:82] diff --git a/logs/gunicorn.pid b/logs/gunicorn.pid index c821c20..cbea929 100644 --- a/logs/gunicorn.pid +++ b/logs/gunicorn.pid @@ -1 +1 @@ -28451 +24437 diff --git a/logs/gunicorn_access.log b/logs/gunicorn_access.log index 8a5d5d5..3e5dc87 100644 --- a/logs/gunicorn_access.log +++ b/logs/gunicorn_access.log @@ -305,3 +305,231 @@ 123.139.41.108 - - [07/Sep/2025:23:02:59 +0800] "GET /api/check-login HTTP/1.1" 200 115 "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" 4969 123.139.41.108 - - [07/Sep/2025:23:04:45 +0800] "POST / HTTP/1.1" 200 54818 "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" 32104951 123.139.41.108 - - [07/Sep/2025:23:04:45 +0800] "GET /api/check-login HTTP/1.1" 200 115 "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" 1057 +123.139.41.108 - - [07/Sep/2025:23:05:58 +0800] "GET /admin/ HTTP/1.1" 200 38183 "-" "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" 145602 +123.139.41.108 - - [07/Sep/2025:23:06:02 +0800] "GET /admin/admin_user/ HTTP/1.1" 200 36361 "http://101.43.95.130:5002/admin/" "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" 305706 +123.139.41.108 - - [07/Sep/2025:23:06:02 +0800] "GET /admin/static/vendor/select2/select2.css?v=4.2.1 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_user/" "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" 1739 +123.139.41.108 - - [07/Sep/2025:23:06:02 +0800] "GET /admin/static/vendor/select2/select2-bootstrap4.css?v=1.4.6 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_user/" "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" 1084 +123.139.41.108 - - [07/Sep/2025:23:06:02 +0800] "GET /admin/static/vendor/bootstrap-daterangepicker/daterangepicker-bs4.css?v=1.3.22 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_user/" "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" 1747 +123.139.41.108 - - [07/Sep/2025:23:06:04 +0800] "GET /admin/admin_template/ HTTP/1.1" 200 33865 "http://101.43.95.130:5002/admin/admin_user/" "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" 191515 +123.139.41.108 - - [07/Sep/2025:23:06:04 +0800] "GET /admin/static/vendor/select2/select2.css?v=4.2.1 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/" "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" 5749 +123.139.41.108 - - [07/Sep/2025:23:06:04 +0800] "GET /admin/static/vendor/select2/select2-bootstrap4.css?v=1.4.6 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/" "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" 1040 +123.139.41.108 - - [07/Sep/2025:23:06:04 +0800] "GET /admin/static/vendor/bootstrap-daterangepicker/daterangepicker-bs4.css?v=1.3.22 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/" "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" 1673 +123.139.41.108 - - [07/Sep/2025:23:06:06 +0800] "GET /admin/admin_prompt/ HTTP/1.1" 200 90763 "http://101.43.95.130:5002/admin/admin_template/" "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" 522682 +123.139.41.108 - - [07/Sep/2025:23:06:06 +0800] "GET /admin/static/vendor/select2/select2.css?v=4.2.1 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 1029 +123.139.41.108 - - [07/Sep/2025:23:06:06 +0800] "GET /admin/static/vendor/select2/select2-bootstrap4.css?v=1.4.6 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 1562 +123.139.41.108 - - [07/Sep/2025:23:06:06 +0800] "GET /admin/static/vendor/bootstrap-daterangepicker/daterangepicker-bs4.css?v=1.3.22 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 819 +123.139.41.108 - - [07/Sep/2025:23:06:07 +0800] "GET /admin/admin_template/ HTTP/1.1" 200 33865 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 316517 +123.139.41.108 - - [07/Sep/2025:23:06:07 +0800] "GET /admin/static/vendor/select2/select2.css?v=4.2.1 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/" "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" 1084 +123.139.41.108 - - [07/Sep/2025:23:06:07 +0800] "GET /admin/static/vendor/select2/select2-bootstrap4.css?v=1.4.6 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/" "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" 1126 +123.139.41.108 - - [07/Sep/2025:23:06:07 +0800] "GET /admin/static/vendor/bootstrap-daterangepicker/daterangepicker-bs4.css?v=1.3.22 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/" "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" 1115 +123.139.41.108 - - [07/Sep/2025:23:06:19 +0800] "GET /admin/admin_template/new/?url=/admin/admin_template/ HTTP/1.1" 200 27203 "http://101.43.95.130:5002/admin/admin_template/" "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" 501211 +123.139.41.108 - - [07/Sep/2025:23:06:19 +0800] "GET /admin/static/vendor/select2/select2.css?v=4.2.1 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/new/?url=/admin/admin_template/" "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" 1087 +123.139.41.108 - - [07/Sep/2025:23:06:19 +0800] "GET /admin/static/vendor/select2/select2-bootstrap4.css?v=1.4.6 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/new/?url=/admin/admin_template/" "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" 1166 +123.139.41.108 - - [07/Sep/2025:23:06:19 +0800] "GET /admin/static/vendor/bootstrap-daterangepicker/daterangepicker-bs4.css?v=1.3.22 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/new/?url=/admin/admin_template/" "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" 1236 +123.139.41.108 - - [07/Sep/2025:23:06:28 +0800] "GET /admin/admin_prompt/ HTTP/1.1" 200 90763 "http://101.43.95.130:5002/admin/admin_template/new/?url=/admin/admin_template/" "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" 250603 +123.139.41.108 - - [07/Sep/2025:23:06:28 +0800] "GET /admin/static/vendor/select2/select2.css?v=4.2.1 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 1050 +123.139.41.108 - - [07/Sep/2025:23:06:28 +0800] "GET /admin/static/vendor/select2/select2-bootstrap4.css?v=1.4.6 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 987 +123.139.41.108 - - [07/Sep/2025:23:06:28 +0800] "GET /admin/static/vendor/bootstrap-daterangepicker/daterangepicker-bs4.css?v=1.3.22 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 971 +123.139.41.108 - - [07/Sep/2025:23:07:44 +0800] "GET /admin/admin_template/ HTTP/1.1" 200 33865 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 253724 +123.139.41.108 - - [07/Sep/2025:23:07:45 +0800] "GET /admin/static/vendor/select2/select2.css?v=4.2.1 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/" "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" 1801 +123.139.41.108 - - [07/Sep/2025:23:07:45 +0800] "GET /admin/static/vendor/select2/select2-bootstrap4.css?v=1.4.6 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/" "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" 976 +123.139.41.108 - - [07/Sep/2025:23:07:45 +0800] "GET /admin/static/vendor/bootstrap-daterangepicker/daterangepicker-bs4.css?v=1.3.22 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/" "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" 816 +123.139.41.108 - - [07/Sep/2025:23:07:53 +0800] "GET /admin/admin_prompt/ HTTP/1.1" 200 90763 "http://101.43.95.130:5002/admin/admin_template/" "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" 371771 +123.139.41.108 - - [07/Sep/2025:23:07:53 +0800] "GET /admin/static/vendor/select2/select2.css?v=4.2.1 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 1030 +123.139.41.108 - - [07/Sep/2025:23:07:53 +0800] "GET /admin/static/vendor/select2/select2-bootstrap4.css?v=1.4.6 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 1037 +123.139.41.108 - - [07/Sep/2025:23:07:53 +0800] "GET /admin/static/vendor/bootstrap-daterangepicker/daterangepicker-bs4.css?v=1.3.22 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 1256 +123.139.41.108 - - [07/Sep/2025:23:08:11 +0800] "GET /a HTTP/1.1" 404 207 "-" "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" 1034 +123.139.41.108 - - [07/Sep/2025:23:08:14 +0800] "GET / HTTP/1.1" 200 49396 "-" "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" 281719 +123.139.41.108 - - [07/Sep/2025:23:08:14 +0800] "GET /api/check-login HTTP/1.1" 200 115 "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" 809 +123.139.41.108 - - [07/Sep/2025:23:08:18 +0800] "GET /profile HTTP/1.1" 200 27265 "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" 139720 +123.139.41.108 - - [07/Sep/2025:23:08:18 +0800] "GET /static/images/default-avatar.png HTTP/1.1" 404 207 "http://101.43.95.130:5002/profile" "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" 1399 +123.139.41.108 - - [07/Sep/2025:23:08:18 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/profile" "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" 828 +123.139.41.108 - - [07/Sep/2025:23:08:18 +0800] "GET /api/profile HTTP/1.1" 200 185 "http://101.43.95.130:5002/profile" "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" 110992 +123.139.41.108 - - [07/Sep/2025:23:08:18 +0800] "GET /api/profile/stats HTTP/1.1" 200 103 "http://101.43.95.130:5002/profile" "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" 179120 +123.139.41.108 - - [07/Sep/2025:23:08:33 +0800] "GET /favorites HTTP/1.1" 200 22739 "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" 100436 +123.139.41.108 - - [07/Sep/2025:23:08:33 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/favorites" "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" 832 +123.139.41.108 - - [07/Sep/2025:23:08:34 +0800] "GET /api/favorites/stats HTTP/1.1" 200 4283 "http://101.43.95.130:5002/favorites" "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" 164752 +123.139.41.108 - - [07/Sep/2025:23:08:34 +0800] "GET /api/favorites?page=1&per_page=10&search=&category=all HTTP/1.1" 200 4269 "http://101.43.95.130:5002/favorites" "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" 248717 +123.139.41.108 - - [07/Sep/2025:23:08:51 +0800] "GET / HTTP/1.1" 200 49396 "http://101.43.95.130:5002/favorites" "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" 162216 +123.139.41.108 - - [07/Sep/2025:23:08:52 +0800] "GET /api/check-login HTTP/1.1" 200 115 "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" 810 +127.0.0.1 - - [07/Sep/2025:23:14:20 +0800] "GET /meal-planning HTTP/1.1" 200 24135 "-" "curl/7.29.0" 18139 +127.0.0.1 - - [07/Sep/2025:23:14:33 +0800] "GET /meal-planning HTTP/1.1" 200 24135 "-" "curl/7.29.0" 1170 +127.0.0.1 - - [07/Sep/2025:23:16:39 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 10481 "-" "curl/7.29.0" 100561370 +127.0.0.1 - - [07/Sep/2025:23:17:42 +0800] "GET /meal-planning HTTP/1.1" 200 24135 "-" "curl/7.29.0" 1016 +127.0.0.1 - - [07/Sep/2025:23:17:52 +0800] "GET / HTTP/1.1" 200 49561 "-" "curl/7.29.0" 435135 +123.139.41.108 - - [07/Sep/2025:23:18:38 +0800] "GET / HTTP/1.1" 200 49561 "http://101.43.95.130:5002/favorites" "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" 507553 +123.139.41.108 - - [07/Sep/2025:23:18:38 +0800] "GET /api/check-login HTTP/1.1" 200 115 "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" 1136 +123.139.41.108 - - [07/Sep/2025:23:18:40 +0800] "GET /meal-planning HTTP/1.1" 200 24135 "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" 107216 +123.139.41.108 - - [07/Sep/2025:23:18:40 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 6712 +123.139.41.108 - - [07/Sep/2025:23:20:20 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 7010 "http://101.43.95.130:5002/meal-planning" "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" 63594865 +123.139.41.108 - - [07/Sep/2025:23:22:12 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 10727 "http://101.43.95.130:5002/meal-planning" "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" 101483310 +123.139.41.108 - - [07/Sep/2025:23:24:23 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 8332 "http://101.43.95.130:5002/meal-planning" "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" 77885008 +127.0.0.1 - - [07/Sep/2025:23:26:31 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 9625 "-" "curl/7.29.0" 87269660 +127.0.0.1 - - [07/Sep/2025:23:34:58 +0800] "GET / HTTP/1.1" 200 49561 "-" "curl/7.29.0" 419196 +123.139.41.108 - - [07/Sep/2025:23:37:10 +0800] "GET / HTTP/1.1" 200 49561 "http://101.43.95.130:5002/meal-planning" "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" 316900 +123.139.41.108 - - [07/Sep/2025:23:37:10 +0800] "GET /api/check-login HTTP/1.1" 200 115 "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" 837 +123.139.41.108 - - [07/Sep/2025:23:37:14 +0800] "GET /favorites HTTP/1.1" 200 22904 "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" 109027 +123.139.41.108 - - [07/Sep/2025:23:37:14 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/favorites" "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" 819 +123.139.41.108 - - [07/Sep/2025:23:37:14 +0800] "GET /api/favorites/stats HTTP/1.1" 200 4283 "http://101.43.95.130:5002/favorites" "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" 171684 +123.139.41.108 - - [07/Sep/2025:23:37:14 +0800] "GET /api/favorites?page=1&per_page=10&search=&category=all HTTP/1.1" 200 4269 "http://101.43.95.130:5002/favorites" "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" 474594 +123.139.41.108 - - [07/Sep/2025:23:37:51 +0800] "GET /meal-planning HTTP/1.1" 200 24135 "http://101.43.95.130:5002/favorites" "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" 108597 +123.139.41.108 - - [07/Sep/2025:23:37:51 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 993 +123.139.41.108 - - [07/Sep/2025:23:38:04 +0800] "GET /favorites HTTP/1.1" 200 22904 "http://101.43.95.130:5002/meal-planning" "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" 111552 +123.139.41.108 - - [07/Sep/2025:23:38:04 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/favorites" "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" 848 +123.139.41.108 - - [07/Sep/2025:23:38:05 +0800] "GET /api/favorites?page=1&per_page=10&search=&category=all HTTP/1.1" 200 4269 "http://101.43.95.130:5002/favorites" "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" 136568 +123.139.41.108 - - [07/Sep/2025:23:38:05 +0800] "GET /api/favorites/stats HTTP/1.1" 200 4283 "http://101.43.95.130:5002/favorites" "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" 156318 +123.139.41.108 - - [07/Sep/2025:23:48:08 +0800] "GET / HTTP/1.1" 200 49561 "-" "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" 502524 +123.139.41.108 - - [07/Sep/2025:23:48:08 +0800] "GET /api/check-login HTTP/1.1" 200 115 "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" 5130 +123.139.41.108 - - [07/Sep/2025:23:48:52 +0800] "GET /meal-planning HTTP/1.1" 200 24135 "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" 107363 +123.139.41.108 - - [07/Sep/2025:23:48:52 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 1015 +123.139.41.108 - - [07/Sep/2025:23:51:11 +0800] "POST /api/meal-planning/generate HTTP/1.1" 500 0 "-" "-" 32568 +123.139.41.108 - - [07/Sep/2025:23:53:46 +0800] "POST /api/meal-planning/generate HTTP/1.1" 500 0 "-" "-" 4697 +123.139.41.108 - - [07/Sep/2025:23:54:29 +0800] "GET /admin/ HTTP/1.1" 200 38183 "-" "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" 474651 +123.139.41.108 - - [07/Sep/2025:23:54:46 +0800] "GET /admin/admin_template/ HTTP/1.1" 200 33865 "http://101.43.95.130:5002/admin/" "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" 451715 +123.139.41.108 - - [07/Sep/2025:23:54:46 +0800] "GET /admin/static/vendor/select2/select2.css?v=4.2.1 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/" "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" 1896 +123.139.41.108 - - [07/Sep/2025:23:54:46 +0800] "GET /admin/static/vendor/select2/select2-bootstrap4.css?v=1.4.6 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/" "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" 2144 +123.139.41.108 - - [07/Sep/2025:23:54:46 +0800] "GET /admin/static/vendor/bootstrap-daterangepicker/daterangepicker-bs4.css?v=1.3.22 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/" "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" 5894 +123.139.41.108 - - [07/Sep/2025:23:54:48 +0800] "GET /admin/admin_prompt/ HTTP/1.1" 200 90763 "http://101.43.95.130:5002/admin/admin_template/" "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" 685979 +123.139.41.108 - - [07/Sep/2025:23:54:48 +0800] "GET /admin/static/vendor/select2/select2.css?v=4.2.1 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 1092 +123.139.41.108 - - [07/Sep/2025:23:54:48 +0800] "GET /admin/static/vendor/select2/select2-bootstrap4.css?v=1.4.6 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 1139 +123.139.41.108 - - [07/Sep/2025:23:54:48 +0800] "GET /admin/static/vendor/bootstrap-daterangepicker/daterangepicker-bs4.css?v=1.3.22 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 810 +123.139.41.108 - - [07/Sep/2025:23:54:50 +0800] "GET /admin/analytics_admin/ HTTP/1.1" 200 37310 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 709788 +123.139.41.108 - - [07/Sep/2025:23:54:51 +0800] "GET /admin/backup_admin/ HTTP/1.1" 200 38122 "http://101.43.95.130:5002/admin/analytics_admin/" "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" 139662 +123.139.41.108 - - [07/Sep/2025:23:54:52 +0800] "GET /admin/batch_admin/ HTTP/1.1" 200 34207 "http://101.43.95.130:5002/admin/backup_admin/" "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" 129716 +123.139.41.108 - - [07/Sep/2025:23:54:53 +0800] "GET /admin/admin_template/ HTTP/1.1" 200 33865 "http://101.43.95.130:5002/admin/batch_admin/" "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" 185734 +123.139.41.108 - - [07/Sep/2025:23:54:53 +0800] "GET /admin/static/vendor/select2/select2.css?v=4.2.1 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/" "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" 1197 +123.139.41.108 - - [07/Sep/2025:23:54:53 +0800] "GET /admin/static/vendor/select2/select2-bootstrap4.css?v=1.4.6 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/" "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" 1222 +123.139.41.108 - - [07/Sep/2025:23:54:53 +0800] "GET /admin/static/vendor/bootstrap-daterangepicker/daterangepicker-bs4.css?v=1.3.22 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_template/" "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" 977 +123.139.41.108 - - [07/Sep/2025:23:54:54 +0800] "GET /admin/admin_user/ HTTP/1.1" 200 36361 "http://101.43.95.130:5002/admin/admin_template/" "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" 289710 +123.139.41.108 - - [07/Sep/2025:23:54:54 +0800] "GET /admin/static/vendor/select2/select2.css?v=4.2.1 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_user/" "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" 1035 +123.139.41.108 - - [07/Sep/2025:23:54:54 +0800] "GET /admin/static/vendor/select2/select2-bootstrap4.css?v=1.4.6 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_user/" "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" 1343 +123.139.41.108 - - [07/Sep/2025:23:54:54 +0800] "GET /admin/static/vendor/bootstrap-daterangepicker/daterangepicker-bs4.css?v=1.3.22 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_user/" "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" 1892 +123.139.41.108 - - [07/Sep/2025:23:54:55 +0800] "GET /admin/ HTTP/1.1" 200 38183 "http://101.43.95.130:5002/admin/admin_user/" "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" 141713 +123.139.41.108 - - [07/Sep/2025:23:54:58 +0800] "GET /admin/monitor_admin/ HTTP/1.1" 200 38878 "http://101.43.95.130:5002/admin/" "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" 1147700 +123.139.41.108 - - [07/Sep/2025:23:54:59 +0800] "GET /admin/monitor_admin/api/system-status HTTP/1.1" 200 314 "http://101.43.95.130:5002/admin/monitor_admin/" "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" 1106422 +123.139.41.108 - - [07/Sep/2025:23:54:59 +0800] "GET /admin/monitor_admin/api/alerts HTTP/1.1" 200 27 "http://101.43.95.130:5002/admin/monitor_admin/" "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" 109470 +123.139.41.108 - - [07/Sep/2025:23:54:59 +0800] "GET /admin/backup_admin/ HTTP/1.1" 200 38122 "http://101.43.95.130:5002/admin/monitor_admin/" "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" 142163 +123.139.41.108 - - [07/Sep/2025:23:55:03 +0800] "GET /admin/report_admin/ HTTP/1.1" 200 34773 "http://101.43.95.130:5002/admin/backup_admin/" "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" 139841 +123.139.41.108 - - [07/Sep/2025:23:55:04 +0800] "GET /admin/batch_admin/ HTTP/1.1" 200 34207 "http://101.43.95.130:5002/admin/report_admin/" "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" 141444 +123.139.41.108 - - [07/Sep/2025:23:55:06 +0800] "GET /admin/monitor_admin/ HTTP/1.1" 200 38879 "http://101.43.95.130:5002/admin/batch_admin/" "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" 1147569 +123.139.41.108 - - [07/Sep/2025:23:55:07 +0800] "GET /admin/monitor_admin/api/system-status HTTP/1.1" 200 315 "http://101.43.95.130:5002/admin/monitor_admin/" "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" 1105576 +123.139.41.108 - - [07/Sep/2025:23:55:08 +0800] "GET /admin/analytics_admin/ HTTP/1.1" 200 37310 "http://101.43.95.130:5002/admin/monitor_admin/" "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" 433007 +123.139.41.108 - - [07/Sep/2025:23:55:08 +0800] "GET /admin/monitor_admin/api/alerts HTTP/1.1" 200 27 "http://101.43.95.130:5002/admin/monitor_admin/" "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" 109649 +123.139.41.108 - - [07/Sep/2025:23:55:08 +0800] "GET /admin/admin_prompt/ HTTP/1.1" 200 90763 "http://101.43.95.130:5002/admin/analytics_admin/" "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" 246742 +123.139.41.108 - - [07/Sep/2025:23:55:08 +0800] "GET /admin/static/vendor/select2/select2.css?v=4.2.1 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 2369 +123.139.41.108 - - [07/Sep/2025:23:55:08 +0800] "GET /admin/static/vendor/select2/select2-bootstrap4.css?v=1.4.6 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 1490 +123.139.41.108 - - [07/Sep/2025:23:55:08 +0800] "GET /admin/static/vendor/bootstrap-daterangepicker/daterangepicker-bs4.css?v=1.3.22 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 1331 +123.139.41.108 - - [07/Sep/2025:23:55:12 +0800] "GET / HTTP/1.1" 200 49561 "-" "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" 175232 +123.139.41.108 - - [07/Sep/2025:23:55:12 +0800] "GET /api/check-login HTTP/1.1" 200 115 "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" 1099 +123.139.41.108 - - [07/Sep/2025:23:55:17 +0800] "GET /meal-planning HTTP/1.1" 200 24135 "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" 112125 +123.139.41.108 - - [07/Sep/2025:23:55:17 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 847 +123.139.41.108 - - [07/Sep/2025:23:58:37 +0800] "GET /meal-planning HTTP/1.1" 200 24820 "http://101.43.95.130:5002/meal-planning" "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" 435860 +123.139.41.108 - - [07/Sep/2025:23:58:37 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 6744 +123.139.41.108 - - [08/Sep/2025:00:00:55 +0800] "POST /api/meal-planning/generate HTTP/1.1" 500 0 "-" "-" 6578 +127.0.0.1 - - [08/Sep/2025:00:02:46 +0800] "POST /api/meal-planning/generate HTTP/1.1" 500 0 "-" "-" 4538 +127.0.0.1 - - [08/Sep/2025:00:09:04 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 125 "-" "curl/7.29.0" 91953454 +123.139.41.108 - - [08/Sep/2025:00:20:05 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 125 "http://101.43.95.130:5002/meal-planning" "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" 92087138 +123.139.41.108 - - [08/Sep/2025:00:24:54 +0800] "GET /favorites HTTP/1.1" 200 22904 "http://101.43.95.130:5002/meal-planning" "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" 484672 +123.139.41.108 - - [08/Sep/2025:00:24:54 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/favorites" "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" 5102 +123.139.41.108 - - [08/Sep/2025:00:24:55 +0800] "GET /api/favorites?page=1&per_page=10&search=&category=all HTTP/1.1" 200 4269 "http://101.43.95.130:5002/favorites" "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" 500599 +123.139.41.108 - - [08/Sep/2025:00:24:55 +0800] "GET /api/favorites/stats HTTP/1.1" 200 4283 "http://101.43.95.130:5002/favorites" "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" 531173 +123.139.41.108 - - [08/Sep/2025:00:24:57 +0800] "GET / HTTP/1.1" 200 49561 "http://101.43.95.130:5002/favorites" "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" 207702 +123.139.41.108 - - [08/Sep/2025:00:24:57 +0800] "GET /api/check-login HTTP/1.1" 200 115 "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" 1133 +123.139.41.108 - - [08/Sep/2025:00:24:57 +0800] "GET /meal-planning HTTP/1.1" 200 24820 "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" 128377 +123.139.41.108 - - [08/Sep/2025:00:24:57 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 900 +150.138.78.253 - - [08/Sep/2025:06:42:31 +0800] "GET / HTTP/1.1" 200 49561 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36" 516976 +150.138.78.253 - - [08/Sep/2025:06:42:32 +0800] "GET /favicon.ico HTTP/1.1" 404 207 "-" "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11" 4475 +123.139.94.173 - - [08/Sep/2025:07:18:10 +0800] "GET /meal-planning HTTP/1.1" 200 24820 "-" "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" 432528 +123.139.94.173 - - [08/Sep/2025:07:18:10 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 4931 +123.139.94.173 - - [08/Sep/2025:07:19:52 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 125 "http://101.43.95.130:5002/meal-planning" "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" 91949275 +127.0.0.1 - - [08/Sep/2025:07:20:54 +0800] "GET / HTTP/1.1" 200 49561 "-" "curl/7.29.0" 456681 +127.0.0.1 - - [08/Sep/2025:07:22:41 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 125 "-" "curl/7.29.0" 91881489 +127.0.0.1 - - [08/Sep/2025:07:29:08 +0800] "GET / HTTP/1.1" 200 49561 "-" "curl/7.29.0" 464663 +123.139.94.173 - - [08/Sep/2025:07:29:10 +0800] "GET /meal-planning HTTP/1.1" 200 24820 "-" "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" 111019 +123.139.94.173 - - [08/Sep/2025:07:29:10 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 4849 +123.139.94.173 - - [08/Sep/2025:07:30:20 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 2544 "http://101.43.95.130:5002/meal-planning" "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" 61644385 +127.0.0.1 - - [08/Sep/2025:07:30:30 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 2437 "-" "curl/7.29.0" 61616274 +123.139.94.173 - - [08/Sep/2025:07:31:20 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 78 "http://101.43.95.130:5002/meal-planning" "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" 5051 +123.139.94.173 - - [08/Sep/2025:07:31:23 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 78 "http://101.43.95.130:5002/meal-planning" "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" 5779 +123.139.94.173 - - [08/Sep/2025:07:31:27 +0800] "GET /favorites HTTP/1.1" 200 22904 "http://101.43.95.130:5002/meal-planning" "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" 413019 +123.139.94.173 - - [08/Sep/2025:07:31:27 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/favorites" "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" 4966 +123.139.94.173 - - [08/Sep/2025:07:31:27 +0800] "GET /api/favorites/stats HTTP/1.1" 200 4283 "http://101.43.95.130:5002/favorites" "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" 156998 +123.139.94.173 - - [08/Sep/2025:07:31:28 +0800] "GET /api/favorites?page=1&per_page=10&search=&category=all HTTP/1.1" 200 4269 "http://101.43.95.130:5002/favorites" "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" 455743 +123.139.94.173 - - [08/Sep/2025:07:31:31 +0800] "GET /meal-planning HTTP/1.1" 200 24820 "http://101.43.95.130:5002/favorites" "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" 117180 +123.139.94.173 - - [08/Sep/2025:07:31:31 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 771 +123.139.94.173 - - [08/Sep/2025:07:31:35 +0800] "GET /profile HTTP/1.1" 200 27430 "http://101.43.95.130:5002/meal-planning" "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" 129668 +123.139.94.173 - - [08/Sep/2025:07:31:35 +0800] "GET /static/images/default-avatar.png HTTP/1.1" 404 207 "http://101.43.95.130:5002/profile" "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" 1956 +123.139.94.173 - - [08/Sep/2025:07:31:35 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/profile" "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" 839 +123.139.94.173 - - [08/Sep/2025:07:31:36 +0800] "GET /api/profile HTTP/1.1" 200 185 "http://101.43.95.130:5002/profile" "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" 105061 +123.139.94.173 - - [08/Sep/2025:07:31:36 +0800] "GET /api/profile/stats HTTP/1.1" 200 103 "http://101.43.95.130:5002/profile" "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" 509681 +123.139.94.173 - - [08/Sep/2025:07:31:37 +0800] "GET /meal-planning HTTP/1.1" 200 24820 "http://101.43.95.130:5002/profile" "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" 103193 +123.139.94.173 - - [08/Sep/2025:07:31:37 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 5029 +123.139.94.173 - - [08/Sep/2025:07:31:38 +0800] "GET / HTTP/1.1" 200 49561 "http://101.43.95.130:5002/meal-planning" "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" 173696 +123.139.94.173 - - [08/Sep/2025:07:31:39 +0800] "GET /api/check-login HTTP/1.1" 200 115 "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" 836 +123.139.94.173 - - [08/Sep/2025:07:31:39 +0800] "GET /meal-planning HTTP/1.1" 200 24820 "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" 121780 +123.139.94.173 - - [08/Sep/2025:07:31:39 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 834 +127.0.0.1 - - [08/Sep/2025:07:31:55 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 539 "-" "curl/7.29.0" 4961901 +127.0.0.1 - - [08/Sep/2025:07:32:18 +0800] "GET /meal-planning HTTP/1.1" 200 24820 "-" "curl/7.29.0" 4379 +123.139.94.173 - - [08/Sep/2025:07:32:35 +0800] "GET /meal-planning HTTP/1.1" 200 24820 "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" 103044 +123.139.94.173 - - [08/Sep/2025:07:32:35 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 901 +123.139.94.173 - - [08/Sep/2025:07:32:37 +0800] "GET /meal-planning HTTP/1.1" 200 24820 "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" 103126 +123.139.94.173 - - [08/Sep/2025:07:32:37 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 763 +123.139.94.173 - - [08/Sep/2025:07:32:52 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 428 "http://101.43.95.130:5002/meal-planning" "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" 4158106 +123.139.94.173 - - [08/Sep/2025:07:33:33 +0800] "GET /admin/ HTTP/1.1" 200 38183 "-" "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" 156860 +123.139.94.173 - - [08/Sep/2025:07:33:38 +0800] "GET /admin/admin_prompt/ HTTP/1.1" 200 90763 "http://101.43.95.130:5002/admin/" "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" 355101 +123.139.94.173 - - [08/Sep/2025:07:33:38 +0800] "GET /admin/static/vendor/select2/select2.css?v=4.2.1 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 1660 +123.139.94.173 - - [08/Sep/2025:07:33:38 +0800] "GET /admin/static/vendor/select2/select2-bootstrap4.css?v=1.4.6 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 1737 +123.139.94.173 - - [08/Sep/2025:07:33:38 +0800] "GET /admin/static/vendor/bootstrap-daterangepicker/daterangepicker-bs4.css?v=1.3.22 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 966 +123.139.94.173 - - [08/Sep/2025:07:33:40 +0800] "GET /admin/admin_user/ HTTP/1.1" 200 36361 "http://101.43.95.130:5002/admin/admin_prompt/" "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" 283576 +123.139.94.173 - - [08/Sep/2025:07:33:40 +0800] "GET /admin/static/vendor/select2/select2.css?v=4.2.1 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_user/" "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" 1187 +123.139.94.173 - - [08/Sep/2025:07:33:40 +0800] "GET /admin/static/vendor/select2/select2-bootstrap4.css?v=1.4.6 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_user/" "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" 1608 +123.139.94.173 - - [08/Sep/2025:07:33:40 +0800] "GET /admin/static/vendor/bootstrap-daterangepicker/daterangepicker-bs4.css?v=1.3.22 HTTP/1.1" 304 0 "http://101.43.95.130:5002/admin/admin_user/" "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" 1017 +123.139.94.173 - - [08/Sep/2025:07:33:42 +0800] "GET /admin/api_admin/ HTTP/1.1" 200 40361 "http://101.43.95.130:5002/admin/admin_user/" "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" 433846 +123.139.94.173 - - [08/Sep/2025:07:33:43 +0800] "GET /admin/api_admin/api/calls HTTP/1.1" 200 5226 "http://101.43.95.130:5002/admin/api_admin/" "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" 507633 +123.139.94.173 - - [08/Sep/2025:07:33:44 +0800] "GET /admin/backup_admin/ HTTP/1.1" 200 38122 "http://101.43.95.130:5002/admin/api_admin/" "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" 131555 +123.139.94.173 - - [08/Sep/2025:07:33:45 +0800] "GET /admin/report_admin/ HTTP/1.1" 200 34773 "http://101.43.95.130:5002/admin/backup_admin/" "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" 137728 +123.139.94.173 - - [08/Sep/2025:07:33:47 +0800] "GET /admin/batch_admin/ HTTP/1.1" 200 34207 "http://101.43.95.130:5002/admin/report_admin/" "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" 131700 +123.139.94.173 - - [08/Sep/2025:07:33:47 +0800] "GET /admin/monitor_admin/ HTTP/1.1" 200 38879 "http://101.43.95.130:5002/admin/report_admin/" "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" 1484682 +123.139.94.173 - - [08/Sep/2025:07:33:48 +0800] "GET /admin/analytics_admin/ HTTP/1.1" 200 37309 "http://101.43.95.130:5002/admin/batch_admin/" "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" 464566 +127.0.0.1 - - [08/Sep/2025:07:36:04 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 139 "-" "curl/7.29.0" 612937 +127.0.0.1 - - [08/Sep/2025:07:36:24 +0800] "GET /api/meal-planning/list HTTP/1.1" 200 676 "-" "curl/7.29.0" 178601 +127.0.0.1 - - [08/Sep/2025:07:36:31 +0800] "GET /api/meal-planning/1 HTTP/1.1" 200 607 "-" "curl/7.29.0" 144530 +127.0.0.1 - - [08/Sep/2025:07:37:13 +0800] "GET /meal-planning HTTP/1.1" 200 25423 "-" "curl/7.29.0" 16378 +127.0.0.1 - - [08/Sep/2025:07:37:37 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 139 "-" "curl/7.29.0" 589911 +127.0.0.1 - - [08/Sep/2025:07:37:45 +0800] "GET /api/meal-planning/list HTTP/1.1" 200 1211 "-" "curl/7.29.0" 456758 +127.0.0.1 - - [08/Sep/2025:07:37:52 +0800] "DELETE /api/meal-planning/2 HTTP/1.1" 200 78 "-" "curl/7.29.0" 156340 +127.0.0.1 - - [08/Sep/2025:07:37:59 +0800] "GET /api/meal-planning/list HTTP/1.1" 200 676 "-" "curl/7.29.0" 147389 +123.139.94.173 - - [08/Sep/2025:07:38:32 +0800] "GET /meal-planning HTTP/1.1" 200 25423 "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" 440742 +123.139.94.173 - - [08/Sep/2025:07:38:32 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 5024 +123.139.94.173 - - [08/Sep/2025:07:38:46 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 404 "http://101.43.95.130:5002/meal-planning" "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" 4802694 +123.139.94.173 - - [08/Sep/2025:07:39:00 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 139 "http://101.43.95.130:5002/meal-planning" "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" 219789 +123.139.94.173 - - [08/Sep/2025:07:39:06 +0800] "GET /admin/analytics_admin/ HTTP/1.1" 200 37309 "http://101.43.95.130:5002/admin/batch_admin/" "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" 452687 +127.0.0.1 - - [08/Sep/2025:07:51:26 +0800] "GET /meal-planning/history HTTP/1.1" 500 265 "-" "curl/7.29.0" 27508 +127.0.0.1 - - [08/Sep/2025:07:52:12 +0800] "GET /meal-planning/history HTTP/1.1" 500 265 "-" "curl/7.29.0" 36357 +127.0.0.1 - - [08/Sep/2025:07:53:18 +0800] "GET /meal-planning/history HTTP/1.1" 200 22501 "-" "curl/7.29.0" 13646 +127.0.0.1 - - [08/Sep/2025:07:53:26 +0800] "GET /api/meal-planning/list HTTP/1.1" 200 676 "-" "curl/7.29.0" 509213 +127.0.0.1 - - [08/Sep/2025:07:53:35 +0800] "DELETE /api/meal-planning/1 HTTP/1.1" 200 78 "-" "curl/7.29.0" 167931 +127.0.0.1 - - [08/Sep/2025:07:53:47 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 509 "-" "curl/7.29.0" 4478681 +127.0.0.1 - - [08/Sep/2025:07:54:10 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 139 "-" "curl/7.29.0" 537899 +127.0.0.1 - - [08/Sep/2025:07:54:19 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 139 "-" "curl/7.29.0" 221651 +127.0.0.1 - - [08/Sep/2025:07:54:26 +0800] "GET /api/meal-planning/list HTTP/1.1" 200 1115 "-" "curl/7.29.0" 154490 +123.139.94.173 - - [08/Sep/2025:07:54:41 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 139 "http://101.43.95.130:5002/meal-planning" "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" 196350 +123.139.94.173 - - [08/Sep/2025:07:54:44 +0800] "GET /meal-planning HTTP/1.1" 200 25595 "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" 112367 +123.139.94.173 - - [08/Sep/2025:07:54:44 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 1103 +123.139.94.173 - - [08/Sep/2025:07:54:46 +0800] "GET /meal-planning/history HTTP/1.1" 200 22501 "http://101.43.95.130:5002/meal-planning" "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" 111146 +123.139.94.173 - - [08/Sep/2025:07:54:47 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 1006 "http://101.43.95.130:5002/meal-planning/history" "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" 123580 +123.139.94.173 - - [08/Sep/2025:07:55:16 +0800] "GET /meal-planning HTTP/1.1" 200 25595 "http://101.43.95.130:5002/meal-planning/history" "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" 466717 +123.139.94.173 - - [08/Sep/2025:07:55:17 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 950 +123.139.94.173 - - [08/Sep/2025:07:56:03 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 488 "http://101.43.95.130:5002/meal-planning" "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" 5042608 +123.139.94.173 - - [08/Sep/2025:07:56:33 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 452 "http://101.43.95.130:5002/meal-planning" "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" 4733664 +127.0.0.1 - - [08/Sep/2025:07:59:23 +0800] "DELETE /api/meal-planning/2sleep HTTP/1.1" 404 207 "-" "curl/7.29.0" 5159 +127.0.0.1 - - [08/Sep/2025:08:00:09 +0800] "GET / HTTP/1.1" 200 49733 "-" "curl/7.29.0" 479791 +127.0.0.1 - - [08/Sep/2025:08:01:49 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 125 "-" "curl/7.29.0" 137090803 +123.139.94.173 - - [08/Sep/2025:08:03:04 +0800] "GET /meal-planning HTTP/1.1" 200 25595 "http://101.43.95.130:5002/meal-planning/history" "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" 463316 +123.139.94.173 - - [08/Sep/2025:08:03:04 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 5218 +123.139.94.173 - - [08/Sep/2025:08:03:41 +0800] "POST /api/meal-planning/generate HTTP/1.1" 200 2711 "http://101.43.95.130:5002/meal-planning" "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" 22104246 +123.139.94.173 - - [08/Sep/2025:08:05:33 +0800] "POST /api/meal-planning/save HTTP/1.1" 200 139 "http://101.43.95.130:5002/meal-planning" "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" 559856 +123.139.94.173 - - [08/Sep/2025:08:05:37 +0800] "GET /meal-planning/history HTTP/1.1" 200 22501 "http://101.43.95.130:5002/meal-planning" "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" 380516 +123.139.94.173 - - [08/Sep/2025:08:05:37 +0800] "GET /api/meal-planning/list?page=1&per_page=10 HTTP/1.1" 200 3594 "http://101.43.95.130:5002/meal-planning/history" "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" 143620 +123.139.94.173 - - [08/Sep/2025:08:06:00 +0800] "GET /meal-planning HTTP/1.1" 200 25595 "http://101.43.95.130:5002/meal-planning/history" "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" 123600 +123.139.94.173 - - [08/Sep/2025:08:06:00 +0800] "GET /api/check-login HTTP/1.1" 200 115 "http://101.43.95.130:5002/meal-planning" "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" 4892 diff --git a/logs/gunicorn_error.log b/logs/gunicorn_error.log index bfe639b..8cf6ed0 100644 --- a/logs/gunicorn_error.log +++ b/logs/gunicorn_error.log @@ -1566,3 +1566,1016 @@ SystemExit: 1 [2025-09-07 22:59:47 +0800] [28478] [INFO] 工作进程 28478 已启动 [2025-09-07 22:59:47 +0800] [28478] [INFO] 工作进程 28478 初始化完成 [2025-09-07 23:04:02 +0800] [28451] [INFO] Handling signal: winch +[2025-09-07 23:13:44 +0800] [28451] [INFO] Handling signal: term +[2025-09-07 23:13:44 +0800] [28474] [INFO] Worker exiting (pid: 28474) +[2025-09-07 23:13:44 +0800] [28475] [INFO] Worker exiting (pid: 28475) +[2025-09-07 23:13:44 +0800] [28477] [INFO] Worker exiting (pid: 28477) +[2025-09-07 23:13:44 +0800] [28476] [INFO] Worker exiting (pid: 28476) +[2025-09-07 23:13:44 +0800] [28478] [INFO] Worker exiting (pid: 28478) +[2025-09-07 23:13:45 +0800] [28451] [INFO] Shutting down: Master +[2025-09-07 23:14:15 +0800] [7908] [INFO] Starting gunicorn 23.0.0 +[2025-09-07 23:14:15 +0800] [7908] [INFO] Gunicorn服务器启动中... +[2025-09-07 23:14:15 +0800] [7908] [INFO] Listening at: http://0.0.0.0:5002 (7908) +[2025-09-07 23:14:15 +0800] [7908] [INFO] Using worker: sync +[2025-09-07 23:14:15 +0800] [7908] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:14:15 +0800] [7926] [INFO] Booting worker with pid: 7926 +[2025-09-07 23:14:15 +0800] [7926] [INFO] 工作进程 7926 已启动 +[2025-09-07 23:14:15 +0800] [7926] [INFO] 工作进程 7926 初始化完成 +[2025-09-07 23:14:15 +0800] [7908] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:14:15 +0800] [7928] [INFO] Booting worker with pid: 7928 +[2025-09-07 23:14:15 +0800] [7928] [INFO] 工作进程 7928 已启动 +[2025-09-07 23:14:15 +0800] [7928] [INFO] 工作进程 7928 初始化完成 +[2025-09-07 23:14:15 +0800] [7908] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:14:15 +0800] [7929] [INFO] Booting worker with pid: 7929 +[2025-09-07 23:14:15 +0800] [7929] [INFO] 工作进程 7929 已启动 +[2025-09-07 23:14:15 +0800] [7929] [INFO] 工作进程 7929 初始化完成 +[2025-09-07 23:14:15 +0800] [7908] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:14:15 +0800] [7930] [INFO] Booting worker with pid: 7930 +[2025-09-07 23:14:15 +0800] [7930] [INFO] 工作进程 7930 已启动 +[2025-09-07 23:14:15 +0800] [7930] [INFO] 工作进程 7930 初始化完成 +[2025-09-07 23:14:15 +0800] [7908] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:14:15 +0800] [7931] [INFO] Booting worker with pid: 7931 +[2025-09-07 23:14:15 +0800] [7931] [INFO] 工作进程 7931 已启动 +[2025-09-07 23:14:15 +0800] [7931] [INFO] 工作进程 7931 初始化完成 +[2025-09-07 23:38:17 +0800] [7928] [INFO] Worker exiting (pid: 7928) +[2025-09-07 23:38:17 +0800] [7908] [INFO] Handling signal: term +[2025-09-07 23:38:17 +0800] [7926] [INFO] Worker exiting (pid: 7926) +[2025-09-07 23:38:17 +0800] [7929] [INFO] Worker exiting (pid: 7929) +[2025-09-07 23:38:17 +0800] [7930] [INFO] Worker exiting (pid: 7930) +[2025-09-07 23:38:17 +0800] [7931] [INFO] Worker exiting (pid: 7931) +[2025-09-07 23:38:18 +0800] [7908] [INFO] Shutting down: Master +[2025-09-07 23:48:02 +0800] [22678] [INFO] Starting gunicorn 23.0.0 +[2025-09-07 23:48:02 +0800] [22678] [INFO] Gunicorn服务器启动中... +[2025-09-07 23:48:02 +0800] [22678] [INFO] Listening at: http://0.0.0.0:5002 (22678) +[2025-09-07 23:48:02 +0800] [22678] [INFO] Using worker: sync +[2025-09-07 23:48:02 +0800] [22678] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:48:02 +0800] [22704] [INFO] Booting worker with pid: 22704 +[2025-09-07 23:48:02 +0800] [22704] [INFO] 工作进程 22704 已启动 +[2025-09-07 23:48:02 +0800] [22704] [INFO] 工作进程 22704 初始化完成 +[2025-09-07 23:48:02 +0800] [22678] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:48:02 +0800] [22705] [INFO] Booting worker with pid: 22705 +[2025-09-07 23:48:02 +0800] [22705] [INFO] 工作进程 22705 已启动 +[2025-09-07 23:48:02 +0800] [22705] [INFO] 工作进程 22705 初始化完成 +[2025-09-07 23:48:02 +0800] [22678] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:48:02 +0800] [22714] [INFO] Booting worker with pid: 22714 +[2025-09-07 23:48:02 +0800] [22714] [INFO] 工作进程 22714 已启动 +[2025-09-07 23:48:02 +0800] [22714] [INFO] 工作进程 22714 初始化完成 +[2025-09-07 23:48:02 +0800] [22678] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:48:02 +0800] [22719] [INFO] Booting worker with pid: 22719 +[2025-09-07 23:48:02 +0800] [22719] [INFO] 工作进程 22719 已启动 +[2025-09-07 23:48:02 +0800] [22719] [INFO] 工作进程 22719 初始化完成 +[2025-09-07 23:48:02 +0800] [22678] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:48:02 +0800] [22720] [INFO] Booting worker with pid: 22720 +[2025-09-07 23:48:02 +0800] [22720] [INFO] 工作进程 22720 已启动 +[2025-09-07 23:48:02 +0800] [22720] [INFO] 工作进程 22720 初始化完成 +[2025-09-07 23:50:53 +0800] [22678] [INFO] Handling signal: winch +[2025-09-07 23:50:53 +0800] [22678] [INFO] Handling signal: winch +[2025-09-07 23:50:55 +0800] [22678] [INFO] Handling signal: winch +[2025-09-07 23:50:55 +0800] [22678] [INFO] Handling signal: winch +[2025-09-07 23:50:55 +0800] [22678] [INFO] Handling signal: winch +[2025-09-07 23:50:55 +0800] [22678] [INFO] Handling signal: winch +[2025-09-07 23:50:55 +0800] [22678] [INFO] Handling signal: winch +[2025-09-07 23:50:55 +0800] [22678] [INFO] Handling signal: winch +[2025-09-07 23:50:55 +0800] [22678] [INFO] Handling signal: winch +[2025-09-07 23:50:55 +0800] [22678] [INFO] Handling signal: winch +[2025-09-07 23:50:55 +0800] [22678] [INFO] Handling signal: winch +[2025-09-07 23:50:56 +0800] [22678] [INFO] Handling signal: winch +[2025-09-07 23:51:11 +0800] [22678] [CRITICAL] WORKER TIMEOUT (pid:22705) +[2025-09-07 23:51:11 +0800] [22705] [INFO] 工作进程 22705 异常退出 +[2025-09-07 23:51:11 +0800] [22705] [ERROR] Error handling request /api/meal-planning/generate +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/meal_planning.py", line 119, in generate_meal_plan_api + meal_plan = generate_meal_plan( + ^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/meal_planning.py", line 75, in generate_meal_plan + response = client.chat.completions.create( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/_utils/_utils.py", line 287, in wrapper + return func(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/resources/chat/completions/completions.py", line 1147, in create + return self._post( + ^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/_base_client.py", line 1259, in post + return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/_base_client.py", line 982, in request + response = self._client.send( + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_client.py", line 928, in send + raise exc + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_client.py", line 922, in send + response.read() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_models.py", line 881, in read + self._content = b"".join(self.iter_bytes()) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_models.py", line 897, in iter_bytes + for raw_bytes in self.iter_raw(): + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_models.py", line 951, in iter_raw + for raw_stream_bytes in self.stream: + ^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_client.py", line 153, in __iter__ + for chunk in self._stream: + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_transports/default.py", line 127, in __iter__ + for part in self._httpcore_stream: + ^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py", line 407, in __iter__ + raise exc from None + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py", line 403, in __iter__ + for part in self._stream: + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 342, in __iter__ + raise exc + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 334, in __iter__ + for chunk in self._connection._receive_response_body(**kwargs): + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 203, in _receive_response_body + event = self._receive_event(timeout=timeout) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 217, in _receive_event + data = self._network_stream.read( + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_backends/sync.py", line 128, in read + return self._sock.recv(max_bytes) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/ssl.py", line 1232, in recv + return self.read(buflen) + ^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/ssl.py", line 1105, in read + return self._sslobj.read(len) + ^^^^^^^^^^^^^^^^^^^^^^ + 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-09-07 23:51:11 +0800] [22705] [INFO] Worker exiting (pid: 22705) +[2025-09-07 23:51:11 +0800] [22678] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:51:11 +0800] [14869] [INFO] Booting worker with pid: 14869 +[2025-09-07 23:51:11 +0800] [14869] [INFO] 工作进程 14869 已启动 +[2025-09-07 23:51:11 +0800] [14869] [INFO] 工作进程 14869 初始化完成 +[2025-09-07 23:53:46 +0800] [22678] [CRITICAL] WORKER TIMEOUT (pid:14869) +[2025-09-07 23:53:46 +0800] [14869] [INFO] 工作进程 14869 异常退出 +[2025-09-07 23:53:46 +0800] [14869] [ERROR] Error handling request /api/meal-planning/generate +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/meal_planning.py", line 119, in generate_meal_plan_api + meal_plan = generate_meal_plan( + ^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/meal_planning.py", line 75, in generate_meal_plan + response = client.chat.completions.create( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/_utils/_utils.py", line 287, in wrapper + return func(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/resources/chat/completions/completions.py", line 1147, in create + return self._post( + ^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/_base_client.py", line 1259, in post + return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/_base_client.py", line 982, in request + response = self._client.send( + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_client.py", line 928, in send + raise exc + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_client.py", line 922, in send + response.read() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_models.py", line 881, in read + self._content = b"".join(self.iter_bytes()) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_models.py", line 897, in iter_bytes + for raw_bytes in self.iter_raw(): + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_models.py", line 951, in iter_raw + for raw_stream_bytes in self.stream: + ^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_client.py", line 153, in __iter__ + for chunk in self._stream: + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_transports/default.py", line 127, in __iter__ + for part in self._httpcore_stream: + ^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py", line 407, in __iter__ + raise exc from None + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py", line 403, in __iter__ + for part in self._stream: + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 342, in __iter__ + raise exc + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 334, in __iter__ + for chunk in self._connection._receive_response_body(**kwargs): + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 203, in _receive_response_body + event = self._receive_event(timeout=timeout) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 217, in _receive_event + data = self._network_stream.read( + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_backends/sync.py", line 128, in read + return self._sock.recv(max_bytes) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/ssl.py", line 1232, in recv + return self.read(buflen) + ^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/ssl.py", line 1105, in read + return self._sslobj.read(len) + ^^^^^^^^^^^^^^^^^^^^^^ + 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-09-07 23:53:46 +0800] [14869] [INFO] Worker exiting (pid: 14869) +[2025-09-07 23:53:47 +0800] [22678] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:53:47 +0800] [15908] [INFO] Booting worker with pid: 15908 +[2025-09-07 23:53:47 +0800] [15908] [INFO] 工作进程 15908 已启动 +[2025-09-07 23:53:47 +0800] [15908] [INFO] 工作进程 15908 初始化完成 +[2025-09-07 23:55:21 +0800] [15908] [INFO] 工作进程 15908 被中断 +[2025-09-07 23:55:21 +0800] [22720] [INFO] 工作进程 22720 被中断 +[2025-09-07 23:55:21 +0800] [22678] [INFO] Handling signal: int +[2025-09-07 23:55:21 +0800] [22719] [INFO] 工作进程 22719 被中断 +[2025-09-07 23:55:21 +0800] [22714] [INFO] 工作进程 22714 被中断 +[2025-09-07 23:55:21 +0800] [22714] [INFO] 工作进程 22714 被中断 +[2025-09-07 23:55:21 +0800] [22719] [INFO] 工作进程 22719 被中断 +[2025-09-07 23:55:21 +0800] [22720] [INFO] 工作进程 22720 被中断 +[2025-09-07 23:55:21 +0800] [22704] [INFO] 工作进程 22704 被中断 +[2025-09-07 23:55:21 +0800] [15908] [INFO] 工作进程 15908 被中断 +[2025-09-07 23:55:21 +0800] [22714] [INFO] Worker exiting (pid: 22714) +[2025-09-07 23:55:21 +0800] [22719] [INFO] Worker exiting (pid: 22719) +[2025-09-07 23:55:21 +0800] [22704] [INFO] 工作进程 22704 被中断 +[2025-09-07 23:55:21 +0800] [15908] [INFO] Worker exiting (pid: 15908) +[2025-09-07 23:55:21 +0800] [22720] [INFO] Worker exiting (pid: 22720) +[2025-09-07 23:55:22 +0800] [22678] [INFO] Shutting down: Master +[2025-09-07 23:56:49 +0800] [8875] [INFO] Starting gunicorn 23.0.0 +[2025-09-07 23:56:49 +0800] [8875] [INFO] Gunicorn服务器启动中... +[2025-09-07 23:56:49 +0800] [8875] [INFO] Listening at: http://0.0.0.0:5002 (8875) +[2025-09-07 23:56:49 +0800] [8875] [INFO] Using worker: sync +[2025-09-07 23:56:49 +0800] [8875] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:56:49 +0800] [8891] [INFO] Booting worker with pid: 8891 +[2025-09-07 23:56:49 +0800] [8891] [INFO] 工作进程 8891 已启动 +[2025-09-07 23:56:49 +0800] [8891] [INFO] 工作进程 8891 初始化完成 +[2025-09-07 23:56:49 +0800] [8875] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:56:49 +0800] [8892] [INFO] Booting worker with pid: 8892 +[2025-09-07 23:56:49 +0800] [8892] [INFO] 工作进程 8892 已启动 +[2025-09-07 23:56:49 +0800] [8892] [INFO] 工作进程 8892 初始化完成 +[2025-09-07 23:56:49 +0800] [8875] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:56:49 +0800] [8893] [INFO] Booting worker with pid: 8893 +[2025-09-07 23:56:49 +0800] [8893] [INFO] 工作进程 8893 已启动 +[2025-09-07 23:56:49 +0800] [8893] [INFO] 工作进程 8893 初始化完成 +[2025-09-07 23:56:49 +0800] [8875] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:56:49 +0800] [8875] [INFO] 工作进程 [booting] 即将启动 +[2025-09-07 23:56:49 +0800] [8894] [INFO] Booting worker with pid: 8894 +[2025-09-07 23:56:49 +0800] [8894] [INFO] 工作进程 8894 已启动 +[2025-09-07 23:56:49 +0800] [8894] [INFO] 工作进程 8894 初始化完成 +[2025-09-07 23:56:49 +0800] [8895] [INFO] Booting worker with pid: 8895 +[2025-09-07 23:56:49 +0800] [8895] [INFO] 工作进程 8895 已启动 +[2025-09-07 23:56:49 +0800] [8895] [INFO] 工作进程 8895 初始化完成 +[2025-09-08 00:00:55 +0800] [8875] [CRITICAL] WORKER TIMEOUT (pid:8891) +[2025-09-08 00:00:55 +0800] [8891] [INFO] 工作进程 8891 异常退出 +[2025-09-08 00:00:55 +0800] [8891] [ERROR] Error handling request /api/meal-planning/generate +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/meal_planning.py", line 119, in generate_meal_plan_api + meal_plan = generate_meal_plan( + ^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/meal_planning.py", line 75, in generate_meal_plan + response = client.chat.completions.create( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/_utils/_utils.py", line 287, in wrapper + return func(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/resources/chat/completions/completions.py", line 1147, in create + return self._post( + ^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/_base_client.py", line 1259, in post + return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/_base_client.py", line 982, in request + response = self._client.send( + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_client.py", line 928, in send + raise exc + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_client.py", line 922, in send + response.read() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_models.py", line 881, in read + self._content = b"".join(self.iter_bytes()) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_models.py", line 897, in iter_bytes + for raw_bytes in self.iter_raw(): + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_models.py", line 951, in iter_raw + for raw_stream_bytes in self.stream: + ^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_client.py", line 153, in __iter__ + for chunk in self._stream: + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_transports/default.py", line 127, in __iter__ + for part in self._httpcore_stream: + ^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py", line 407, in __iter__ + raise exc from None + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py", line 403, in __iter__ + for part in self._stream: + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 342, in __iter__ + raise exc + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 334, in __iter__ + for chunk in self._connection._receive_response_body(**kwargs): + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 203, in _receive_response_body + event = self._receive_event(timeout=timeout) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 217, in _receive_event + data = self._network_stream.read( + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_backends/sync.py", line 128, in read + return self._sock.recv(max_bytes) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/ssl.py", line 1232, in recv + return self.read(buflen) + ^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/ssl.py", line 1105, in read + return self._sslobj.read(len) + ^^^^^^^^^^^^^^^^^^^^^^ + 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-09-08 00:00:55 +0800] [8891] [INFO] Worker exiting (pid: 8891) +[2025-09-08 00:00:55 +0800] [8875] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:00:55 +0800] [1344] [INFO] Booting worker with pid: 1344 +[2025-09-08 00:00:55 +0800] [1344] [INFO] 工作进程 1344 已启动 +[2025-09-08 00:00:55 +0800] [1344] [INFO] 工作进程 1344 初始化完成 +[2025-09-08 00:02:46 +0800] [8875] [CRITICAL] WORKER TIMEOUT (pid:8895) +[2025-09-08 00:02:46 +0800] [8895] [INFO] 工作进程 8895 异常退出 +[2025-09-08 00:02:46 +0800] [8895] [ERROR] Error handling request /api/meal-planning/generate +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/meal_planning.py", line 119, in generate_meal_plan_api + meal_plan = generate_meal_plan( + ^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/aitsc/src/flask_prompt_master/routes/meal_planning.py", line 75, in generate_meal_plan + response = client.chat.completions.create( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/_utils/_utils.py", line 287, in wrapper + return func(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/resources/chat/completions/completions.py", line 1147, in create + return self._post( + ^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/_base_client.py", line 1259, in post + return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/openai/_base_client.py", line 982, in request + response = self._client.send( + ^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_client.py", line 928, in send + raise exc + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_client.py", line 922, in send + response.read() + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_models.py", line 881, in read + self._content = b"".join(self.iter_bytes()) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_models.py", line 897, in iter_bytes + for raw_bytes in self.iter_raw(): + ^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_models.py", line 951, in iter_raw + for raw_stream_bytes in self.stream: + ^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_client.py", line 153, in __iter__ + for chunk in self._stream: + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpx/_transports/default.py", line 127, in __iter__ + for part in self._httpcore_stream: + ^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py", line 407, in __iter__ + raise exc from None + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py", line 403, in __iter__ + for part in self._stream: + ^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 342, in __iter__ + raise exc + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 334, in __iter__ + for chunk in self._connection._receive_response_body(**kwargs): + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 203, in _receive_response_body + event = self._receive_event(timeout=timeout) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 217, in _receive_event + data = self._network_stream.read( + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/site-packages/httpcore/_backends/sync.py", line 128, in read + return self._sock.recv(max_bytes) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/ssl.py", line 1232, in recv + return self.read(buflen) + ^^^^^^^^^^^^^^^^^ + File "/home/renjianbo/miniconda3/envs/myenv/lib/python3.12/ssl.py", line 1105, in read + return self._sslobj.read(len) + ^^^^^^^^^^^^^^^^^^^^^^ + 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-09-08 00:02:46 +0800] [8895] [INFO] Worker exiting (pid: 8895) +[2025-09-08 00:02:47 +0800] [8875] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:02:47 +0800] [2173] [INFO] Booting worker with pid: 2173 +[2025-09-08 00:02:47 +0800] [2173] [INFO] 工作进程 2173 已启动 +[2025-09-08 00:02:47 +0800] [2173] [INFO] 工作进程 2173 初始化完成 +[2025-09-08 00:07:24 +0800] [1344] [INFO] Worker exiting (pid: 1344) +[2025-09-08 00:07:24 +0800] [8875] [INFO] Handling signal: term +[2025-09-08 00:07:24 +0800] [8892] [INFO] Worker exiting (pid: 8892) +[2025-09-08 00:07:24 +0800] [2173] [INFO] Worker exiting (pid: 2173) +[2025-09-08 00:07:24 +0800] [8893] [INFO] Worker exiting (pid: 8893) +[2025-09-08 00:07:24 +0800] [8894] [INFO] Worker exiting (pid: 8894) +[2025-09-08 00:07:24 +0800] [8875] [ERROR] Worker (pid:1344) was sent SIGTERM! +[2025-09-08 00:07:25 +0800] [8875] [INFO] Shutting down: Master +[2025-09-08 00:07:29 +0800] [27913] [INFO] Starting gunicorn 23.0.0 +[2025-09-08 00:07:29 +0800] [27913] [INFO] Gunicorn服务器启动中... +[2025-09-08 00:07:29 +0800] [27913] [INFO] Listening at: http://0.0.0.0:5002 (27913) +[2025-09-08 00:07:29 +0800] [27913] [INFO] Using worker: sync +[2025-09-08 00:07:29 +0800] [27913] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:07:29 +0800] [27932] [INFO] Booting worker with pid: 27932 +[2025-09-08 00:07:29 +0800] [27932] [INFO] 工作进程 27932 已启动 +[2025-09-08 00:07:29 +0800] [27932] [INFO] 工作进程 27932 初始化完成 +[2025-09-08 00:07:29 +0800] [27913] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:07:29 +0800] [27939] [INFO] Booting worker with pid: 27939 +[2025-09-08 00:07:29 +0800] [27939] [INFO] 工作进程 27939 已启动 +[2025-09-08 00:07:29 +0800] [27939] [INFO] 工作进程 27939 初始化完成 +[2025-09-08 00:07:29 +0800] [27913] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:07:29 +0800] [27940] [INFO] Booting worker with pid: 27940 +[2025-09-08 00:07:29 +0800] [27940] [INFO] 工作进程 27940 已启动 +[2025-09-08 00:07:29 +0800] [27940] [INFO] 工作进程 27940 初始化完成 +[2025-09-08 00:07:29 +0800] [27913] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:07:29 +0800] [27941] [INFO] Booting worker with pid: 27941 +[2025-09-08 00:07:29 +0800] [27941] [INFO] 工作进程 27941 已启动 +[2025-09-08 00:07:29 +0800] [27941] [INFO] 工作进程 27941 初始化完成 +[2025-09-08 00:07:29 +0800] [27913] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:07:29 +0800] [27942] [INFO] Booting worker with pid: 27942 +[2025-09-08 00:07:29 +0800] [27942] [INFO] 工作进程 27942 已启动 +[2025-09-08 00:07:29 +0800] [27942] [INFO] 工作进程 27942 初始化完成 +[2025-09-08 00:09:04,523] ERROR in meal_planning: 生成饭菜规划时出错: Request timed out. +[2025-09-08 00:09:04,532] ERROR in meal_planning: API调用失败: 饭菜规划生成失败: Request timed out. +[2025-09-08 00:18:12 +0800] [27939] [INFO] Worker exiting (pid: 27939) +[2025-09-08 00:18:12 +0800] [27932] [INFO] Worker exiting (pid: 27932) +[2025-09-08 00:18:12 +0800] [27940] [INFO] Worker exiting (pid: 27940) +[2025-09-08 00:18:12 +0800] [27941] [INFO] Worker exiting (pid: 27941) +[2025-09-08 00:18:12 +0800] [27942] [INFO] Worker exiting (pid: 27942) +[2025-09-08 00:18:12 +0800] [27913] [INFO] Handling signal: term +[2025-09-08 00:18:12 +0800] [27913] [ERROR] Worker (pid:27939) was sent SIGTERM! +[2025-09-08 00:18:12 +0800] [27913] [ERROR] Worker (pid:27941) was sent SIGTERM! +[2025-09-08 00:18:12 +0800] [27913] [ERROR] Worker (pid:27932) was sent SIGTERM! +[2025-09-08 00:18:12 +0800] [27913] [ERROR] Worker (pid:27942) was sent SIGTERM! +[2025-09-08 00:18:12 +0800] [27913] [INFO] Shutting down: Master +[2025-09-08 00:18:25 +0800] [14134] [INFO] Starting gunicorn 23.0.0 +[2025-09-08 00:18:25 +0800] [14134] [INFO] Gunicorn服务器启动中... +[2025-09-08 00:18:25 +0800] [14134] [INFO] Listening at: http://0.0.0.0:5002 (14134) +[2025-09-08 00:18:25 +0800] [14134] [INFO] Using worker: sync +[2025-09-08 00:18:25 +0800] [14134] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:18:25 +0800] [14152] [INFO] Booting worker with pid: 14152 +[2025-09-08 00:18:25 +0800] [14152] [INFO] 工作进程 14152 已启动 +[2025-09-08 00:18:25 +0800] [14152] [INFO] 工作进程 14152 初始化完成 +[2025-09-08 00:18:25 +0800] [14134] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:18:25 +0800] [14153] [INFO] Booting worker with pid: 14153 +[2025-09-08 00:18:25 +0800] [14153] [INFO] 工作进程 14153 已启动 +[2025-09-08 00:18:25 +0800] [14153] [INFO] 工作进程 14153 初始化完成 +[2025-09-08 00:18:25 +0800] [14134] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:18:25 +0800] [14154] [INFO] Booting worker with pid: 14154 +[2025-09-08 00:18:25 +0800] [14154] [INFO] 工作进程 14154 已启动 +[2025-09-08 00:18:25 +0800] [14154] [INFO] 工作进程 14154 初始化完成 +[2025-09-08 00:18:25 +0800] [14134] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:18:25 +0800] [14155] [INFO] Booting worker with pid: 14155 +[2025-09-08 00:18:25 +0800] [14155] [INFO] 工作进程 14155 已启动 +[2025-09-08 00:18:25 +0800] [14155] [INFO] 工作进程 14155 初始化完成 +[2025-09-08 00:18:25 +0800] [14134] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:18:26 +0800] [14156] [INFO] Booting worker with pid: 14156 +[2025-09-08 00:18:26 +0800] [14156] [INFO] 工作进程 14156 已启动 +[2025-09-08 00:18:26 +0800] [14156] [INFO] 工作进程 14156 初始化完成 +[2025-09-08 00:20:05,097] ERROR in meal_planning: 生成饭菜规划时出错: Request timed out. +[2025-09-08 00:20:05,108] ERROR in meal_planning: API调用失败: 饭菜规划生成失败: Request timed out. +[2025-09-08 00:20:47 +0800] [14155] [INFO] 工作进程 14155 被中断 +[2025-09-08 00:20:47 +0800] [14156] [INFO] 工作进程 14156 被中断 +[2025-09-08 00:20:47 +0800] [14153] [INFO] 工作进程 14153 被中断 +[2025-09-08 00:20:47 +0800] [14154] [INFO] 工作进程 14154 被中断 +[2025-09-08 00:20:47 +0800] [14152] [INFO] 工作进程 14152 被中断 +[2025-09-08 00:20:47 +0800] [14134] [INFO] Handling signal: int +[2025-09-08 00:20:47 +0800] [14152] [INFO] 工作进程 14152 被中断 +[2025-09-08 00:20:47 +0800] [14156] [INFO] 工作进程 14156 被中断 +[2025-09-08 00:20:47 +0800] [14153] [INFO] 工作进程 14153 被中断 +[2025-09-08 00:20:47 +0800] [14155] [INFO] 工作进程 14155 被中断 +[2025-09-08 00:20:47 +0800] [14154] [INFO] 工作进程 14154 被中断 +[2025-09-08 00:20:47 +0800] [14152] [INFO] Worker exiting (pid: 14152) +[2025-09-08 00:20:47 +0800] [14153] [INFO] Worker exiting (pid: 14153) +[2025-09-08 00:20:47 +0800] [14156] [INFO] Worker exiting (pid: 14156) +[2025-09-08 00:20:47 +0800] [14155] [INFO] Worker exiting (pid: 14155) +[2025-09-08 00:20:47 +0800] [14154] [INFO] Worker exiting (pid: 14154) +[2025-09-08 00:20:48 +0800] [14134] [INFO] Shutting down: Master +[2025-09-08 00:24:51 +0800] [8092] [INFO] Starting gunicorn 23.0.0 +[2025-09-08 00:24:51 +0800] [8092] [INFO] Gunicorn服务器启动中... +[2025-09-08 00:24:51 +0800] [8092] [INFO] Listening at: http://0.0.0.0:5002 (8092) +[2025-09-08 00:24:51 +0800] [8092] [INFO] Using worker: sync +[2025-09-08 00:24:51 +0800] [8092] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:24:51 +0800] [8102] [INFO] Booting worker with pid: 8102 +[2025-09-08 00:24:51 +0800] [8102] [INFO] 工作进程 8102 已启动 +[2025-09-08 00:24:51 +0800] [8102] [INFO] 工作进程 8102 初始化完成 +[2025-09-08 00:24:51 +0800] [8092] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:24:51 +0800] [8103] [INFO] Booting worker with pid: 8103 +[2025-09-08 00:24:51 +0800] [8103] [INFO] 工作进程 8103 已启动 +[2025-09-08 00:24:51 +0800] [8103] [INFO] 工作进程 8103 初始化完成 +[2025-09-08 00:24:51 +0800] [8092] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:24:51 +0800] [8104] [INFO] Booting worker with pid: 8104 +[2025-09-08 00:24:51 +0800] [8104] [INFO] 工作进程 8104 已启动 +[2025-09-08 00:24:51 +0800] [8104] [INFO] 工作进程 8104 初始化完成 +[2025-09-08 00:24:51 +0800] [8092] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:24:51 +0800] [8105] [INFO] Booting worker with pid: 8105 +[2025-09-08 00:24:51 +0800] [8105] [INFO] 工作进程 8105 已启动 +[2025-09-08 00:24:51 +0800] [8105] [INFO] 工作进程 8105 初始化完成 +[2025-09-08 00:24:51 +0800] [8092] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 00:24:51 +0800] [8106] [INFO] Booting worker with pid: 8106 +[2025-09-08 00:24:51 +0800] [8106] [INFO] 工作进程 8106 已启动 +[2025-09-08 00:24:51 +0800] [8106] [INFO] 工作进程 8106 初始化完成 +[2025-09-08 04:00:29 +0800] [8092] [ERROR] Worker (pid:8102) was sent SIGHUP! +[2025-09-08 04:00:29 +0800] [8092] [ERROR] Worker (pid:8104) was sent SIGHUP! +[2025-09-08 04:00:29 +0800] [8092] [ERROR] Worker (pid:8105) was sent SIGHUP! +[2025-09-08 04:00:29 +0800] [8092] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 04:00:29 +0800] [8092] [ERROR] Worker (pid:8103) was sent SIGHUP! +[2025-09-08 04:00:29 +0800] [8092] [ERROR] Worker (pid:8106) was sent SIGHUP! +[2025-09-08 04:00:29 +0800] [11969] [INFO] Booting worker with pid: 11969 +[2025-09-08 04:00:29 +0800] [11969] [INFO] 工作进程 11969 已启动 +[2025-09-08 04:00:29 +0800] [11969] [INFO] 工作进程 11969 初始化完成 +[2025-09-08 04:00:29 +0800] [8092] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 04:00:29 +0800] [11970] [INFO] Booting worker with pid: 11970 +[2025-09-08 04:00:29 +0800] [11970] [INFO] 工作进程 11970 已启动 +[2025-09-08 04:00:29 +0800] [11970] [INFO] 工作进程 11970 初始化完成 +[2025-09-08 04:00:29 +0800] [8092] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 04:00:29 +0800] [11971] [INFO] Booting worker with pid: 11971 +[2025-09-08 04:00:29 +0800] [11971] [INFO] 工作进程 11971 已启动 +[2025-09-08 04:00:29 +0800] [11971] [INFO] 工作进程 11971 初始化完成 +[2025-09-08 04:00:29 +0800] [8092] [INFO] Handling signal: hup +[2025-09-08 04:00:29 +0800] [8092] [INFO] Hang up: Master +[2025-09-08 04:00:29 +0800] [8092] [INFO] Gunicorn服务器重载中... +[2025-09-08 04:00:29 +0800] [8092] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 04:00:29 +0800] [8092] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 04:00:29 +0800] [11972] [INFO] Booting worker with pid: 11972 +[2025-09-08 04:00:29 +0800] [11972] [INFO] 工作进程 11972 已启动 +[2025-09-08 04:00:29 +0800] [11972] [INFO] 工作进程 11972 初始化完成 +[2025-09-08 04:00:29 +0800] [8092] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 04:00:29 +0800] [11973] [INFO] Booting worker with pid: 11973 +[2025-09-08 04:00:29 +0800] [11973] [INFO] 工作进程 11973 已启动 +[2025-09-08 04:00:29 +0800] [8092] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 04:00:29 +0800] [11973] [INFO] 工作进程 11973 初始化完成 +[2025-09-08 04:00:29 +0800] [8092] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 04:00:29 +0800] [11974] [INFO] Booting worker with pid: 11974 +[2025-09-08 04:00:29 +0800] [11974] [INFO] 工作进程 11974 已启动 +[2025-09-08 04:00:29 +0800] [11974] [INFO] 工作进程 11974 初始化完成 +[2025-09-08 04:00:29 +0800] [11969] [INFO] Worker exiting (pid: 11969) +[2025-09-08 04:00:29 +0800] [11976] [INFO] Booting worker with pid: 11976 +[2025-09-08 04:00:29 +0800] [11976] [INFO] 工作进程 11976 已启动 +[2025-09-08 04:00:29 +0800] [11976] [INFO] 工作进程 11976 初始化完成 +[2025-09-08 04:00:29 +0800] [11970] [INFO] Worker exiting (pid: 11970) +[2025-09-08 04:00:29 +0800] [11975] [INFO] Booting worker with pid: 11975 +[2025-09-08 04:00:29 +0800] [11975] [INFO] 工作进程 11975 已启动 +[2025-09-08 04:00:29 +0800] [11975] [INFO] 工作进程 11975 初始化完成 +[2025-09-08 04:00:29 +0800] [11971] [INFO] Worker exiting (pid: 11971) +[2025-09-08 04:00:30 +0800] [8092] [ERROR] Worker (pid:11971) was sent SIGTERM! +[2025-09-08 04:00:30 +0800] [8092] [ERROR] Worker (pid:11970) was sent SIGTERM! +[2025-09-08 06:10:42 +0800] [11972] [WARNING] Invalid request from ip=79.124.49.202: Invalid HTTP request line: '\x03\x00\x00/*à\x00\x00\x00\x00\x00Cookie: mstshash=Administr' +[2025-09-08 07:18:03 +0800] [15573] [INFO] Starting gunicorn 23.0.0 +[2025-09-08 07:19:52,507] ERROR in meal_planning: 生成饭菜规划时出错: Request timed out. +[2025-09-08 07:19:52,510] ERROR in meal_planning: API调用失败: 饭菜规划生成失败: Request timed out. +[2025-09-08 07:22:41,781] ERROR in meal_planning: 生成饭菜规划时出错: Request timed out. +[2025-09-08 07:22:41,781] ERROR in meal_planning: API调用失败: 饭菜规划生成失败: Request timed out. +[2025-09-08 07:27:45 +0800] [8092] [INFO] Handling signal: term +[2025-09-08 07:27:45 +0800] [11972] [INFO] Worker exiting (pid: 11972) +[2025-09-08 07:27:45 +0800] [11974] [INFO] Worker exiting (pid: 11974) +[2025-09-08 07:27:46 +0800] [11973] [INFO] Worker exiting (pid: 11973) +[2025-09-08 07:27:46 +0800] [11975] [INFO] Worker exiting (pid: 11975) +[2025-09-08 07:27:46 +0800] [11976] [INFO] Worker exiting (pid: 11976) +[2025-09-08 07:27:47 +0800] [8092] [ERROR] Worker (pid:11973) exited with code 120 +[2025-09-08 07:27:47 +0800] [8092] [ERROR] Worker (pid:11973) exited with code 120. +[2025-09-08 07:27:47 +0800] [8092] [INFO] Shutting down: Master +[2025-09-08 07:28:46 +0800] [2660] [INFO] Starting gunicorn 23.0.0 +[2025-09-08 07:28:46 +0800] [2660] [INFO] Gunicorn服务器启动中... +[2025-09-08 07:28:46 +0800] [2660] [INFO] Listening at: http://0.0.0.0:5002 (2660) +[2025-09-08 07:28:46 +0800] [2660] [INFO] Using worker: sync +[2025-09-08 07:28:46 +0800] [2660] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:28:46 +0800] [2672] [INFO] Booting worker with pid: 2672 +[2025-09-08 07:28:46 +0800] [2672] [INFO] 工作进程 2672 已启动 +[2025-09-08 07:28:46 +0800] [2672] [INFO] 工作进程 2672 初始化完成 +[2025-09-08 07:28:46 +0800] [2660] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:28:46 +0800] [2673] [INFO] Booting worker with pid: 2673 +[2025-09-08 07:28:46 +0800] [2673] [INFO] 工作进程 2673 已启动 +[2025-09-08 07:28:46 +0800] [2673] [INFO] 工作进程 2673 初始化完成 +[2025-09-08 07:28:46 +0800] [2660] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:28:46 +0800] [2674] [INFO] Booting worker with pid: 2674 +[2025-09-08 07:28:46 +0800] [2674] [INFO] 工作进程 2674 已启动 +[2025-09-08 07:28:46 +0800] [2674] [INFO] 工作进程 2674 初始化完成 +[2025-09-08 07:28:47 +0800] [2660] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:28:47 +0800] [2675] [INFO] Booting worker with pid: 2675 +[2025-09-08 07:28:47 +0800] [2675] [INFO] 工作进程 2675 已启动 +[2025-09-08 07:28:47 +0800] [2675] [INFO] 工作进程 2675 初始化完成 +[2025-09-08 07:28:47 +0800] [2660] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:28:47 +0800] [2676] [INFO] Booting worker with pid: 2676 +[2025-09-08 07:28:47 +0800] [2676] [INFO] 工作进程 2676 已启动 +[2025-09-08 07:28:47 +0800] [2676] [INFO] 工作进程 2676 初始化完成 +[2025-09-08 07:30:53 +0800] [2672] [INFO] Worker exiting (pid: 2672) +[2025-09-08 07:30:53 +0800] [2660] [INFO] Handling signal: term +[2025-09-08 07:30:53 +0800] [2673] [INFO] Worker exiting (pid: 2673) +[2025-09-08 07:30:53 +0800] [2676] [INFO] Worker exiting (pid: 2676) +[2025-09-08 07:30:53 +0800] [2674] [INFO] Worker exiting (pid: 2674) +[2025-09-08 07:30:53 +0800] [2675] [INFO] Worker exiting (pid: 2675) +[2025-09-08 07:30:55 +0800] [2660] [INFO] Shutting down: Master +[2025-09-08 07:30:58 +0800] [27287] [INFO] Starting gunicorn 23.0.0 +[2025-09-08 07:30:58 +0800] [27287] [INFO] Gunicorn服务器启动中... +[2025-09-08 07:30:58 +0800] [27287] [INFO] Listening at: http://0.0.0.0:5002 (27287) +[2025-09-08 07:30:58 +0800] [27287] [INFO] Using worker: sync +[2025-09-08 07:30:58 +0800] [27287] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:30:58 +0800] [27306] [INFO] Booting worker with pid: 27306 +[2025-09-08 07:30:58 +0800] [27306] [INFO] 工作进程 27306 已启动 +[2025-09-08 07:30:58 +0800] [27306] [INFO] 工作进程 27306 初始化完成 +[2025-09-08 07:30:58 +0800] [27287] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:30:58 +0800] [27307] [INFO] Booting worker with pid: 27307 +[2025-09-08 07:30:58 +0800] [27307] [INFO] 工作进程 27307 已启动 +[2025-09-08 07:30:58 +0800] [27307] [INFO] 工作进程 27307 初始化完成 +[2025-09-08 07:30:58 +0800] [27287] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:30:58 +0800] [27308] [INFO] Booting worker with pid: 27308 +[2025-09-08 07:30:58 +0800] [27308] [INFO] 工作进程 27308 已启动 +[2025-09-08 07:30:58 +0800] [27308] [INFO] 工作进程 27308 初始化完成 +[2025-09-08 07:30:58 +0800] [27287] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:30:58 +0800] [27309] [INFO] Booting worker with pid: 27309 +[2025-09-08 07:30:58 +0800] [27309] [INFO] 工作进程 27309 已启动 +[2025-09-08 07:30:58 +0800] [27309] [INFO] 工作进程 27309 初始化完成 +[2025-09-08 07:30:58 +0800] [27287] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:30:58 +0800] [27310] [INFO] Booting worker with pid: 27310 +[2025-09-08 07:30:58 +0800] [27310] [INFO] 工作进程 27310 已启动 +[2025-09-08 07:30:58 +0800] [27310] [INFO] 工作进程 27310 初始化完成 +[2025-09-08 07:35:55 +0800] [27307] [INFO] Worker exiting (pid: 27307) +[2025-09-08 07:35:55 +0800] [27306] [INFO] Worker exiting (pid: 27306) +[2025-09-08 07:35:55 +0800] [27309] [INFO] Worker exiting (pid: 27309) +[2025-09-08 07:35:55 +0800] [27308] [INFO] Worker exiting (pid: 27308) +[2025-09-08 07:35:55 +0800] [27310] [INFO] Worker exiting (pid: 27310) +[2025-09-08 07:35:55 +0800] [27287] [INFO] Handling signal: term +[2025-09-08 07:35:55 +0800] [27287] [ERROR] Worker (pid:27307) was sent SIGTERM! +[2025-09-08 07:35:55 +0800] [27287] [ERROR] Worker (pid:27309) was sent SIGTERM! +[2025-09-08 07:35:55 +0800] [27287] [ERROR] Worker (pid:27306) was sent SIGTERM! +[2025-09-08 07:35:55 +0800] [27287] [ERROR] Worker (pid:27308) was sent SIGTERM! +[2025-09-08 07:35:55 +0800] [27287] [INFO] Shutting down: Master +[2025-09-08 07:36:00 +0800] [21070] [INFO] Starting gunicorn 23.0.0 +[2025-09-08 07:36:00 +0800] [21070] [INFO] Gunicorn服务器启动中... +[2025-09-08 07:36:00 +0800] [21070] [INFO] Listening at: http://0.0.0.0:5002 (21070) +[2025-09-08 07:36:00 +0800] [21070] [INFO] Using worker: sync +[2025-09-08 07:36:00 +0800] [21070] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:36:00 +0800] [21088] [INFO] Booting worker with pid: 21088 +[2025-09-08 07:36:00 +0800] [21088] [INFO] 工作进程 21088 已启动 +[2025-09-08 07:36:00 +0800] [21088] [INFO] 工作进程 21088 初始化完成 +[2025-09-08 07:36:00 +0800] [21070] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:36:00 +0800] [21092] [INFO] Booting worker with pid: 21092 +[2025-09-08 07:36:00 +0800] [21092] [INFO] 工作进程 21092 已启动 +[2025-09-08 07:36:00 +0800] [21092] [INFO] 工作进程 21092 初始化完成 +[2025-09-08 07:36:00 +0800] [21070] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:36:00 +0800] [21093] [INFO] Booting worker with pid: 21093 +[2025-09-08 07:36:00 +0800] [21093] [INFO] 工作进程 21093 已启动 +[2025-09-08 07:36:00 +0800] [21093] [INFO] 工作进程 21093 初始化完成 +[2025-09-08 07:36:00 +0800] [21070] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:36:00 +0800] [21099] [INFO] Booting worker with pid: 21099 +[2025-09-08 07:36:00 +0800] [21099] [INFO] 工作进程 21099 已启动 +[2025-09-08 07:36:00 +0800] [21099] [INFO] 工作进程 21099 初始化完成 +[2025-09-08 07:36:00 +0800] [21070] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:36:00 +0800] [21100] [INFO] Booting worker with pid: 21100 +[2025-09-08 07:36:00 +0800] [21100] [INFO] 工作进程 21100 已启动 +[2025-09-08 07:36:00 +0800] [21100] [INFO] 工作进程 21100 初始化完成 +[2025-09-08 07:37:03 +0800] [21088] [INFO] Worker exiting (pid: 21088) +[2025-09-08 07:37:03 +0800] [21070] [INFO] Handling signal: term +[2025-09-08 07:37:03 +0800] [21092] [INFO] Worker exiting (pid: 21092) +[2025-09-08 07:37:03 +0800] [21093] [INFO] Worker exiting (pid: 21093) +[2025-09-08 07:37:03 +0800] [21070] [ERROR] Worker (pid:21088) was sent SIGTERM! +[2025-09-08 07:37:03 +0800] [21099] [INFO] Worker exiting (pid: 21099) +[2025-09-08 07:37:03 +0800] [21100] [INFO] Worker exiting (pid: 21100) +[2025-09-08 07:37:04 +0800] [21070] [INFO] Shutting down: Master +[2025-09-08 07:37:08 +0800] [22328] [INFO] Starting gunicorn 23.0.0 +[2025-09-08 07:37:08 +0800] [22328] [INFO] Gunicorn服务器启动中... +[2025-09-08 07:37:08 +0800] [22328] [INFO] Listening at: http://0.0.0.0:5002 (22328) +[2025-09-08 07:37:08 +0800] [22328] [INFO] Using worker: sync +[2025-09-08 07:37:08 +0800] [22328] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:37:08 +0800] [22335] [INFO] Booting worker with pid: 22335 +[2025-09-08 07:37:08 +0800] [22335] [INFO] 工作进程 22335 已启动 +[2025-09-08 07:37:08 +0800] [22335] [INFO] 工作进程 22335 初始化完成 +[2025-09-08 07:37:08 +0800] [22328] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:37:08 +0800] [22346] [INFO] Booting worker with pid: 22346 +[2025-09-08 07:37:08 +0800] [22346] [INFO] 工作进程 22346 已启动 +[2025-09-08 07:37:08 +0800] [22346] [INFO] 工作进程 22346 初始化完成 +[2025-09-08 07:37:08 +0800] [22328] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:37:08 +0800] [22347] [INFO] Booting worker with pid: 22347 +[2025-09-08 07:37:08 +0800] [22347] [INFO] 工作进程 22347 已启动 +[2025-09-08 07:37:08 +0800] [22347] [INFO] 工作进程 22347 初始化完成 +[2025-09-08 07:37:08 +0800] [22328] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:37:08 +0800] [22348] [INFO] Booting worker with pid: 22348 +[2025-09-08 07:37:08 +0800] [22348] [INFO] 工作进程 22348 已启动 +[2025-09-08 07:37:08 +0800] [22348] [INFO] 工作进程 22348 初始化完成 +[2025-09-08 07:37:08 +0800] [22328] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:37:08 +0800] [22349] [INFO] Booting worker with pid: 22349 +[2025-09-08 07:37:08 +0800] [22349] [INFO] 工作进程 22349 已启动 +[2025-09-08 07:37:08 +0800] [22349] [INFO] 工作进程 22349 初始化完成 +[2025-09-08 07:50:39 +0800] [22335] [INFO] Worker exiting (pid: 22335) +[2025-09-08 07:50:39 +0800] [22328] [INFO] Handling signal: term +[2025-09-08 07:50:39 +0800] [22347] [INFO] Worker exiting (pid: 22347) +[2025-09-08 07:50:39 +0800] [22346] [INFO] Worker exiting (pid: 22346) +[2025-09-08 07:50:39 +0800] [22349] [INFO] Worker exiting (pid: 22349) +[2025-09-08 07:50:39 +0800] [22348] [INFO] Worker exiting (pid: 22348) +[2025-09-08 07:50:41 +0800] [22328] [INFO] Shutting down: Master +[2025-09-08 07:50:45 +0800] [1544] [INFO] Starting gunicorn 23.0.0 +[2025-09-08 07:50:45 +0800] [1544] [INFO] Gunicorn服务器启动中... +[2025-09-08 07:50:45 +0800] [1544] [INFO] Listening at: http://0.0.0.0:5002 (1544) +[2025-09-08 07:50:45 +0800] [1544] [INFO] Using worker: sync +[2025-09-08 07:50:45 +0800] [1544] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:50:45 +0800] [1556] [INFO] Booting worker with pid: 1556 +[2025-09-08 07:50:45 +0800] [1556] [INFO] 工作进程 1556 已启动 +[2025-09-08 07:50:45 +0800] [1556] [INFO] 工作进程 1556 初始化完成 +[2025-09-08 07:50:45 +0800] [1544] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:50:45 +0800] [1560] [INFO] Booting worker with pid: 1560 +[2025-09-08 07:50:45 +0800] [1560] [INFO] 工作进程 1560 已启动 +[2025-09-08 07:50:45 +0800] [1560] [INFO] 工作进程 1560 初始化完成 +[2025-09-08 07:50:45 +0800] [1544] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:50:45 +0800] [1564] [INFO] Booting worker with pid: 1564 +[2025-09-08 07:50:45 +0800] [1564] [INFO] 工作进程 1564 已启动 +[2025-09-08 07:50:45 +0800] [1564] [INFO] 工作进程 1564 初始化完成 +[2025-09-08 07:50:45 +0800] [1544] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:50:45 +0800] [1565] [INFO] Booting worker with pid: 1565 +[2025-09-08 07:50:45 +0800] [1565] [INFO] 工作进程 1565 已启动 +[2025-09-08 07:50:45 +0800] [1565] [INFO] 工作进程 1565 初始化完成 +[2025-09-08 07:50:45 +0800] [1544] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:50:45 +0800] [1566] [INFO] Booting worker with pid: 1566 +[2025-09-08 07:50:45 +0800] [1566] [INFO] 工作进程 1566 已启动 +[2025-09-08 07:50:45 +0800] [1566] [INFO] 工作进程 1566 初始化完成 +[2025-09-08 07:51:26,972] ERROR in app: Exception on /meal-planning/history [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/meal_planning.py", line 91, in meal_planning_history + return render_template('meal_planning_history.html') + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + 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/meal_planning_history.html", line 319, 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 'index'. Did you mean 'main.index' instead? +[2025-09-08 07:52:02 +0800] [1556] [INFO] Worker exiting (pid: 1556) +[2025-09-08 07:52:02 +0800] [1544] [INFO] Handling signal: term +[2025-09-08 07:52:02 +0800] [1564] [INFO] Worker exiting (pid: 1564) +[2025-09-08 07:52:02 +0800] [1560] [INFO] Worker exiting (pid: 1560) +[2025-09-08 07:52:02 +0800] [1566] [INFO] Worker exiting (pid: 1566) +[2025-09-08 07:52:02 +0800] [1565] [INFO] Worker exiting (pid: 1565) +[2025-09-08 07:52:03 +0800] [1544] [INFO] Shutting down: Master +[2025-09-08 07:52:07 +0800] [2861] [INFO] Starting gunicorn 23.0.0 +[2025-09-08 07:52:07 +0800] [2861] [INFO] Gunicorn服务器启动中... +[2025-09-08 07:52:07 +0800] [2861] [INFO] Listening at: http://0.0.0.0:5002 (2861) +[2025-09-08 07:52:07 +0800] [2861] [INFO] Using worker: sync +[2025-09-08 07:52:07 +0800] [2861] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:52:07 +0800] [2876] [INFO] Booting worker with pid: 2876 +[2025-09-08 07:52:07 +0800] [2876] [INFO] 工作进程 2876 已启动 +[2025-09-08 07:52:07 +0800] [2876] [INFO] 工作进程 2876 初始化完成 +[2025-09-08 07:52:07 +0800] [2861] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:52:07 +0800] [2881] [INFO] Booting worker with pid: 2881 +[2025-09-08 07:52:07 +0800] [2881] [INFO] 工作进程 2881 已启动 +[2025-09-08 07:52:07 +0800] [2881] [INFO] 工作进程 2881 初始化完成 +[2025-09-08 07:52:07 +0800] [2861] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:52:07 +0800] [2882] [INFO] Booting worker with pid: 2882 +[2025-09-08 07:52:07 +0800] [2882] [INFO] 工作进程 2882 已启动 +[2025-09-08 07:52:07 +0800] [2882] [INFO] 工作进程 2882 初始化完成 +[2025-09-08 07:52:07 +0800] [2861] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:52:07 +0800] [2883] [INFO] Booting worker with pid: 2883 +[2025-09-08 07:52:07 +0800] [2883] [INFO] 工作进程 2883 已启动 +[2025-09-08 07:52:07 +0800] [2883] [INFO] 工作进程 2883 初始化完成 +[2025-09-08 07:52:07 +0800] [2861] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:52:07 +0800] [2884] [INFO] Booting worker with pid: 2884 +[2025-09-08 07:52:07 +0800] [2884] [INFO] 工作进程 2884 已启动 +[2025-09-08 07:52:07 +0800] [2884] [INFO] 工作进程 2884 初始化完成 +[2025-09-08 07:52:12,623] ERROR in app: Exception on /meal-planning/history [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/meal_planning.py", line 91, in meal_planning_history + return render_template('meal_planning_history.html') + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + 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/meal_planning_history.html", line 347, 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'. Did you mean 'favorites.add_favorite' instead? +[2025-09-08 07:53:02 +0800] [2881] [INFO] Worker exiting (pid: 2881) +[2025-09-08 07:53:02 +0800] [2861] [INFO] Handling signal: term +[2025-09-08 07:53:02 +0800] [2876] [INFO] Worker exiting (pid: 2876) +[2025-09-08 07:53:02 +0800] [2883] [INFO] Worker exiting (pid: 2883) +[2025-09-08 07:53:02 +0800] [2882] [INFO] Worker exiting (pid: 2882) +[2025-09-08 07:53:02 +0800] [2884] [INFO] Worker exiting (pid: 2884) +[2025-09-08 07:53:03 +0800] [2861] [INFO] Shutting down: Master +[2025-09-08 07:53:07 +0800] [3865] [INFO] Starting gunicorn 23.0.0 +[2025-09-08 07:53:07 +0800] [3865] [INFO] Gunicorn服务器启动中... +[2025-09-08 07:53:07 +0800] [3865] [INFO] Listening at: http://0.0.0.0:5002 (3865) +[2025-09-08 07:53:07 +0800] [3865] [INFO] Using worker: sync +[2025-09-08 07:53:07 +0800] [3865] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:53:07 +0800] [3865] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:53:07 +0800] [3883] [INFO] Booting worker with pid: 3883 +[2025-09-08 07:53:07 +0800] [3883] [INFO] 工作进程 3883 已启动 +[2025-09-08 07:53:07 +0800] [3883] [INFO] 工作进程 3883 初始化完成 +[2025-09-08 07:53:07 +0800] [3884] [INFO] Booting worker with pid: 3884 +[2025-09-08 07:53:07 +0800] [3884] [INFO] 工作进程 3884 已启动 +[2025-09-08 07:53:07 +0800] [3884] [INFO] 工作进程 3884 初始化完成 +[2025-09-08 07:53:07 +0800] [3865] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:53:07 +0800] [3885] [INFO] Booting worker with pid: 3885 +[2025-09-08 07:53:07 +0800] [3885] [INFO] 工作进程 3885 已启动 +[2025-09-08 07:53:07 +0800] [3885] [INFO] 工作进程 3885 初始化完成 +[2025-09-08 07:53:07 +0800] [3865] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:53:07 +0800] [3886] [INFO] Booting worker with pid: 3886 +[2025-09-08 07:53:07 +0800] [3886] [INFO] 工作进程 3886 已启动 +[2025-09-08 07:53:07 +0800] [3886] [INFO] 工作进程 3886 初始化完成 +[2025-09-08 07:53:07 +0800] [3865] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:53:07 +0800] [3887] [INFO] Booting worker with pid: 3887 +[2025-09-08 07:53:07 +0800] [3887] [INFO] 工作进程 3887 已启动 +[2025-09-08 07:53:07 +0800] [3887] [INFO] 工作进程 3887 初始化完成 +[2025-09-08 07:59:17 +0800] [3883] [INFO] Worker exiting (pid: 3883) +[2025-09-08 07:59:17 +0800] [3865] [INFO] Handling signal: term +[2025-09-08 07:59:17 +0800] [3884] [INFO] Worker exiting (pid: 3884) +[2025-09-08 07:59:17 +0800] [3886] [INFO] Worker exiting (pid: 3886) +[2025-09-08 07:59:17 +0800] [3885] [INFO] Worker exiting (pid: 3885) +[2025-09-08 07:59:17 +0800] [3887] [INFO] Worker exiting (pid: 3887) +[2025-09-08 07:59:18 +0800] [3865] [INFO] Shutting down: Master +[2025-09-08 07:59:21 +0800] [30641] [INFO] Starting gunicorn 23.0.0 +[2025-09-08 07:59:21 +0800] [30641] [INFO] Gunicorn服务器启动中... +[2025-09-08 07:59:21 +0800] [30641] [INFO] Listening at: http://0.0.0.0:5002 (30641) +[2025-09-08 07:59:21 +0800] [30641] [INFO] Using worker: sync +[2025-09-08 07:59:21 +0800] [30641] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:59:21 +0800] [30664] [INFO] Booting worker with pid: 30664 +[2025-09-08 07:59:21 +0800] [30664] [INFO] 工作进程 30664 已启动 +[2025-09-08 07:59:21 +0800] [30664] [INFO] 工作进程 30664 初始化完成 +[2025-09-08 07:59:21 +0800] [30641] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:59:21 +0800] [30668] [INFO] Booting worker with pid: 30668 +[2025-09-08 07:59:21 +0800] [30668] [INFO] 工作进程 30668 已启动 +[2025-09-08 07:59:22 +0800] [30668] [INFO] 工作进程 30668 初始化完成 +[2025-09-08 07:59:22 +0800] [30641] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:59:22 +0800] [30672] [INFO] Booting worker with pid: 30672 +[2025-09-08 07:59:22 +0800] [30672] [INFO] 工作进程 30672 已启动 +[2025-09-08 07:59:22 +0800] [30672] [INFO] 工作进程 30672 初始化完成 +[2025-09-08 07:59:22 +0800] [30641] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:59:22 +0800] [30673] [INFO] Booting worker with pid: 30673 +[2025-09-08 07:59:22 +0800] [30673] [INFO] 工作进程 30673 已启动 +[2025-09-08 07:59:22 +0800] [30673] [INFO] 工作进程 30673 初始化完成 +[2025-09-08 07:59:22 +0800] [30641] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 07:59:22 +0800] [30674] [INFO] Booting worker with pid: 30674 +[2025-09-08 07:59:22 +0800] [30674] [INFO] 工作进程 30674 已启动 +[2025-09-08 07:59:22 +0800] [30674] [INFO] 工作进程 30674 初始化完成 +[2025-09-08 08:00:57 +0800] [30668] [INFO] Worker exiting (pid: 30668) +[2025-09-08 08:00:57 +0800] [30641] [INFO] Handling signal: term +[2025-09-08 08:00:57 +0800] [30664] [INFO] Worker exiting (pid: 30664) +[2025-09-08 08:00:57 +0800] [30673] [INFO] Worker exiting (pid: 30673) +[2025-09-08 08:01:02 +0800] [22794] [INFO] Starting gunicorn 23.0.0 +[2025-09-08 08:01:49,955] ERROR in meal_planning: 生成饭菜规划时出错: Request timed out. +[2025-09-08 08:01:49,968] ERROR in meal_planning: API调用失败: 饭菜规划生成失败: Request timed out. +[2025-09-08 08:01:49 +0800] [30672] [INFO] Worker exiting (pid: 30672) +[2025-09-08 08:01:57 +0800] [30641] [INFO] Shutting down: Master +[2025-09-08 08:03:01 +0800] [24437] [INFO] Starting gunicorn 23.0.0 +[2025-09-08 08:03:01 +0800] [24437] [INFO] Gunicorn服务器启动中... +[2025-09-08 08:03:01 +0800] [24437] [INFO] Listening at: http://0.0.0.0:5002 (24437) +[2025-09-08 08:03:01 +0800] [24437] [INFO] Using worker: sync +[2025-09-08 08:03:01 +0800] [24437] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 08:03:01 +0800] [24517] [INFO] Booting worker with pid: 24517 +[2025-09-08 08:03:01 +0800] [24517] [INFO] 工作进程 24517 已启动 +[2025-09-08 08:03:01 +0800] [24517] [INFO] 工作进程 24517 初始化完成 +[2025-09-08 08:03:01 +0800] [24437] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 08:03:01 +0800] [24527] [INFO] Booting worker with pid: 24527 +[2025-09-08 08:03:01 +0800] [24527] [INFO] 工作进程 24527 已启动 +[2025-09-08 08:03:01 +0800] [24527] [INFO] 工作进程 24527 初始化完成 +[2025-09-08 08:03:02 +0800] [24437] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 08:03:02 +0800] [24531] [INFO] Booting worker with pid: 24531 +[2025-09-08 08:03:02 +0800] [24531] [INFO] 工作进程 24531 已启动 +[2025-09-08 08:03:02 +0800] [24531] [INFO] 工作进程 24531 初始化完成 +[2025-09-08 08:03:02 +0800] [24437] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 08:03:02 +0800] [24538] [INFO] Booting worker with pid: 24538 +[2025-09-08 08:03:02 +0800] [24538] [INFO] 工作进程 24538 已启动 +[2025-09-08 08:03:02 +0800] [24538] [INFO] 工作进程 24538 初始化完成 +[2025-09-08 08:03:02 +0800] [24437] [INFO] 工作进程 [booting] 即将启动 +[2025-09-08 08:03:02 +0800] [24541] [INFO] Booting worker with pid: 24541 +[2025-09-08 08:03:02 +0800] [24541] [INFO] 工作进程 24541 已启动 +[2025-09-08 08:03:02 +0800] [24541] [INFO] 工作进程 24541 初始化完成 diff --git a/src/flask_prompt_master/__init__.py b/src/flask_prompt_master/__init__.py index ca2d115..adc5062 100644 --- a/src/flask_prompt_master/__init__.py +++ b/src/flask_prompt_master/__init__.py @@ -52,6 +52,10 @@ def create_app(config_class=None): from src.flask_prompt_master.routes.auth import auth_bp app.register_blueprint(auth_bp) + # 注册饭菜规划蓝图 + from src.flask_prompt_master.routes.meal_planning import meal_planning_bp + app.register_blueprint(meal_planning_bp) + # 初始化后台管理 from src.flask_prompt_master.admin import init_admin init_admin(app) diff --git a/src/flask_prompt_master/__pycache__/__init__.cpython-312.pyc b/src/flask_prompt_master/__pycache__/__init__.cpython-312.pyc index 1dcdda6b1159ae2d930bc669c896f8f23759d5cf..f2a5d0aea5fd2c30892a71e01d2c97d61cc25319 100644 GIT binary patch delta 545 zcmeAdo-e|8nwOW00SJs2?ae4)-^j<#$XK#jjPWibOATX|Uma95%W6DWy57 Rc15O>-8daNj2QXBvH;StVtxPs delta 392 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 literal 0 HcmV?d00001 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 e0d74f9d52c3e625ae691dafb1f7da649d119014..77f3a0a2e6df4cac67816a485d32c58db037af8c 100644 GIT binary patch delta 21 bcmaF+k?HM6Ca%-Gyj%=GuxI5)uE#q7VZ#V@ delta 21 bcmaF+k?HM6Ca%-Gyj%=GuyyW6uE#q7VO', methods=['GET']) +def get_meal_plan_detail(plan_id): + """获取饭菜规划详情""" + try: + # 获取用户ID + user_id = session.get('user_id') + if not user_id: + try: + default_user = User.query.filter_by(login_name='admin').first() + user_id = default_user.uid if default_user else 1 + except Exception as e: + logger.warning(f"获取默认用户失败: {e}") + user_id = 1 + + # 查询饭菜规划 + meal_plan = MealPlan.query.filter_by(id=plan_id, user_id=user_id).first() + + if not meal_plan: + return jsonify({ + 'success': False, + 'message': '饭菜规划不存在' + }) + + return jsonify({ + 'success': True, + 'data': { + 'id': meal_plan.id, + 'region_type': meal_plan.region_type, + 'diner_count': meal_plan.diner_count, + 'meal_type': meal_plan.meal_type, + 'hometown': meal_plan.hometown, + 'preferences': meal_plan.preferences, + 'dietary_restrictions': meal_plan.dietary_restrictions, + 'budget': meal_plan.budget, + 'meal_plan_content': meal_plan.meal_plan_content, + 'created_at': meal_plan.created_at.isoformat(), + 'updated_at': meal_plan.updated_at.isoformat() + } + }) + + except Exception as e: + logger.error(f"获取饭菜规划详情失败: {str(e)}") + return jsonify({ + 'success': False, + 'message': f'获取失败: {str(e)}' + }) + +@meal_planning_bp.route('/api/meal-planning/', methods=['DELETE']) +def delete_meal_plan(plan_id): + """删除饭菜规划""" + try: + # 获取用户ID + user_id = session.get('user_id') + if not user_id: + try: + default_user = User.query.filter_by(login_name='admin').first() + user_id = default_user.uid if default_user else 1 + except Exception as e: + logger.warning(f"获取默认用户失败: {e}") + user_id = 1 + + # 查询饭菜规划 + meal_plan = MealPlan.query.filter_by(id=plan_id, user_id=user_id).first() + + if not meal_plan: + return jsonify({ + 'success': False, + 'message': '饭菜规划不存在' + }) + + # 删除记录 + db.session.delete(meal_plan) + db.session.commit() + + logger.info(f"饭菜规划删除成功,ID: {plan_id}, 用户ID: {user_id}") + + return jsonify({ + 'success': True, + 'message': '饭菜规划删除成功' + }) + + except Exception as e: + db.session.rollback() + logger.error(f"删除饭菜规划失败: {str(e)}") + return jsonify({ + 'success': False, + 'message': f'删除失败: {str(e)}' + }) diff --git a/src/flask_prompt_master/templates/base.html b/src/flask_prompt_master/templates/base.html index 5615d2b..5c8b177 100644 --- a/src/flask_prompt_master/templates/base.html +++ b/src/flask_prompt_master/templates/base.html @@ -254,6 +254,14 @@ 生成提示词 + + + 饭菜规划 + + + + 我的规划 + 我的收藏 diff --git a/src/flask_prompt_master/templates/meal_planning.html b/src/flask_prompt_master/templates/meal_planning.html new file mode 100644 index 0000000..1fc58f0 --- /dev/null +++ b/src/flask_prompt_master/templates/meal_planning.html @@ -0,0 +1,452 @@ +{% extends "base.html" %} + +{% block title %}智能饭菜规划 - 提示词大师{% endblock %} + +{% block content %} +
+
+
+ + +
+
+ +
+ +
+
+
+
+ + 规划参数 +
+
+
+
+ +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ +
+
+
+
+
+ + +
+
+
+
+ + 饭菜规划结果 +
+
+ + +
+
+
+
+
+ +

请填写左侧参数,点击"生成饭菜规划"开始

+
+
+
+
+
+
+
+ + + + + + + +{% endblock %} diff --git a/src/flask_prompt_master/templates/meal_planning_history.html b/src/flask_prompt_master/templates/meal_planning_history.html new file mode 100644 index 0000000..b2e1432 --- /dev/null +++ b/src/flask_prompt_master/templates/meal_planning_history.html @@ -0,0 +1,671 @@ + + + + + + 我的饭菜规划 - 提示词大师 + + + + + + + + + + + + + + +
+ + +
+ + + + +
+
+ 加载中... +
+

正在加载您的饭菜规划...

+
+ + + + + + + + + +
+ + + + + + + + + + diff --git a/系统维护常用语.txt b/系统维护常用语.txt index d3692f6..d0b8b9e 100644 --- a/系统维护常用语.txt +++ b/系统维护常用语.txt @@ -157,4 +157,52 @@ PrivateCode(Yes/No):No 提交的是Python编译文件(.pyc文件)。通常这些文件不应该被提交到版本控制中。让我先取消暂存这些文件,然后添加一个.gitignore文件来忽略它们: - \ No newline at end of file + + + + +启动命令 + +好的,我给您启动命令,您可以自己启动服务: + +## �� **启动命令** + +```bash +# 进入项目目录 +cd /home/renjianbo/aitsc + +# 激活conda环境并启动服务 +eval "$(/home/renjianbo/miniconda3/bin/conda shell.bash hook)" && conda activate myenv && gunicorn -c gunicorn.conf.py run_dev:app +``` + +## �� **完整的启动步骤** + +1. **打开终端** +2. **进入项目目录**:`cd /home/renjianbo/aitsc` +3. **执行启动命令**: + ```bash + eval "$(/home/renjianbo/miniconda3/bin/conda shell.bash hook)" && conda activate myenv && gunicorn -c gunicorn.conf.py run_dev:app + ``` + +## ✅ **启动成功的标志** + +看到以下信息表示启动成功: +- `[INFO] 应用启动` +- `[INFO] 工作进程 X 已启动` +- `[INFO] 工作进程 X 初始化完成` + +## 🌐 **访问地址** + +启动成功后,您可以访问: +- **主页**:`http://101.43.95.130:5002/` +- **饭菜规划**:`http://101.43.95.130:5002/meal-planning` +- **后台管理**:`http://101.43.95.130:5002/admin` + +## �� **如果启动失败** + +如果遇到问题,可以尝试: +1. **清理进程**:`pkill -f gunicorn` +2. **删除PID文件**:`rm -f logs/gunicorn.pid` +3. **重新启动** + +现在您可以自己启动服务了! \ No newline at end of file