文件大小: 191.69 KB
最後修改: 2025-11-15 03:04:37
2025-11-15 02:00:01 - 初始化新小時日誌檔案
2025-11-15 02:00:01 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251115_02.log
2025-11-15 02:00:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True
2025-11-15 02:00:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:00:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-11-15 02:00:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0%
2025-11-15 02:00:37 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251115_02.log
2025-11-15 02:00:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True
2025-11-15 02:00:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:00:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-11-15 02:00:39 - INFO - flask_wtf.csrf - [csrf.py:263] - protect - The CSRF token is missing.
2025-11-15 02:00:39 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/login]: 400 Bad Request: The CSRF token is missing.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 261, in protect
validate_csrf(self._get_csrf_token())
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 100, in validate_csrf
raise ValidationError("The CSRF token is missing.")
wtforms.validators.ValidationError: The CSRF token is missing.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 915, in full_dispatch_request
rv = self.preprocess_request()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 1291, in preprocess_request
rv = self.ensure_sync(before_func)()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect
self.protect()
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 264, in protect
self._error_response(e.args[0])
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 307, in _error_response
raise CSRFError(reason)
flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF token is missing.
2025-11-15 02:01:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:01:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-11-15 02:01:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.1MB, CPU 0.0%
2025-11-15 02:01:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:01:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:01:38 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251115_02.log
2025-11-15 02:01:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True
2025-11-15 02:01:47 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:01:47 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:01:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0%
2025-11-15 02:01:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:02:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:02:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:02:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:02:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:02:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:02:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:02:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:02:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:02:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:02:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:02:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:02:47 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:02:47 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:03:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:03:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:03:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0%
2025-11-15 02:03:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:03:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:03:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:03:47 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:03:47 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:04:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:04:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:04:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:04:32 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251115_02.log
2025-11-15 02:04:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True
2025-11-15 02:04:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:04:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-11-15 02:04:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:04:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:04:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:04:47 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:04:47 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-11-15 02:04:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0%
2025-11-15 02:04:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-11-15 02:04:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:04:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:05:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:05:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-11-15 02:05:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:05:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:05:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:05:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:05:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:05:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:05:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:05:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:05:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:05:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:05:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-11-15 02:05:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:05:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:05:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:05:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:05:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:05:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:05:47 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:05:47 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:05:49 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:06:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:06:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:06:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:06:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0%
2025-11-15 02:06:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:06:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:06:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:06:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:06:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:06:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:06:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:06:47 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:06:47 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:07:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:07:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:07:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:07:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:07:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:07:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:07:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:07:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:07:47 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:07:47 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:07:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0%
2025-11-15 02:07:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:08:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:08:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:08:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:08:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:08:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:08:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:08:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:08:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:08:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:08:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:08:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:08:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:08:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:08:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:08:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:08:47 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:08:47 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:09:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:09:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:09:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:09:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0%
2025-11-15 02:09:18 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: clean_old_logs
2025-11-15 02:09:18 - INFO - database - [database.py:1026] - clean_old_logs - 已清理 0 条旧日志记录
2025-11-15 02:09:18 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'clean_old_logs' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:09:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:09:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:09:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:09:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:09:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:09:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:09:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-11-15 02:09:43 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:09:47 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:09:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:10:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:10:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:10:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:10:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:10:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:10:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-11-15 02:10:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:10:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-11-15 02:10:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:10:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:10:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:10:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:10:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:10:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:10:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-11-15 02:10:40 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:10:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:10:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:10:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:10:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.6MB, CPU 0.0%
2025-11-15 02:10:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:11:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:11:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:11:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:11:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-11-15 02:11:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:11:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:11:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:11:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:11:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:11:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:11:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:11:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:11:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:11:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:11:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:11:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:11:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:11:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:11:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:12:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:12:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:12:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:12:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.6MB, CPU 0.0%
2025-11-15 02:12:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:12:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:12:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:12:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:12:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:12:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:12:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:13:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:13:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:13:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:13:16 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:13:24 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:13:28 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:13:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:13:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:13:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:13:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:13:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:13:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:13:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:13:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.6MB, CPU 0.0%
2025-11-15 02:13:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:14:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:14:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:14:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:14:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:14:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:14:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:14:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:14:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:14:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:14:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-11-15 02:14:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:14:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:14:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:14:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:14:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:14:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:14:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:14:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:14:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:15:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:15:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:15:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:15:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-11-15 02:15:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:15:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.6MB, CPU 0.0%
2025-11-15 02:15:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:15:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:15:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:15:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:15:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:15:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:15:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:15:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:15:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:16:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:16:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:16:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:16:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:16:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:16:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:16:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:16:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:16:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:16:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:16:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0%
2025-11-15 02:16:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:16:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:16:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:17:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:17:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:17:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:17:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:17:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:17:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:17:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:17:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:17:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:17:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:17:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:17:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:17:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:17:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:17:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:17:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:17:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:18:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:18:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:18:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:18:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0%
2025-11-15 02:18:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:18:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:18:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:18:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:18:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:18:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:18:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:19:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:19:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:19:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:19:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:19:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:19:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:19:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-11-15 02:19:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:19:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:19:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:19:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0%
2025-11-15 02:19:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:19:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-11-15 02:19:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:20:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:20:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:20:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:20:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:20:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:20:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:20:06 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:20:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:20:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:20:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:20:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:20:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:20:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-11-15 02:20:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:20:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:20:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-11-15 02:20:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:20:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:20:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:20:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:20:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:20:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:20:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:20:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:21:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:21:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:21:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:21:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0%
2025-11-15 02:21:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:21:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:21:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:21:37 - INFO - flask_wtf.csrf - [csrf.py:263] - protect - The CSRF token is missing.
2025-11-15 02:21:37 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/login]: 400 Bad Request: The CSRF token is missing.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 261, in protect
validate_csrf(self._get_csrf_token())
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 100, in validate_csrf
raise ValidationError("The CSRF token is missing.")
wtforms.validators.ValidationError: The CSRF token is missing.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 915, in full_dispatch_request
rv = self.preprocess_request()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 1291, in preprocess_request
rv = self.ensure_sync(before_func)()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect
self.protect()
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 264, in protect
self._error_response(e.args[0])
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 307, in _error_response
raise CSRFError(reason)
flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF token is missing.
2025-11-15 02:21:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:21:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:21:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:21:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:21:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:21:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:22:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:22:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:22:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:22:31 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:22:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:22:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:22:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:22:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:22:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:22:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0%
2025-11-15 02:22:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:22:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:22:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:23:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:23:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:23:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:23:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:23:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:23:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:23:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:23:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:23:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:23:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:23:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:23:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:23:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:23:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:23:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:23:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:23:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:24:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:24:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:24:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:24:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0%
2025-11-15 02:24:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:24:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:24:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:24:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:24:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-11-15 02:24:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:24:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:24:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:24:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-11-15 02:25:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:25:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:25:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:25:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:25:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:25:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:25:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:25:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:25:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:25:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:25:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-11-15 02:25:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:25:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0%
2025-11-15 02:25:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:25:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:25:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:26:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:26:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:26:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:26:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:26:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:26:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:26:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:26:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:26:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0%
2025-11-15 02:26:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:26:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:26:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:26:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:26:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:26:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:26:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:26:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:26:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:26:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:27:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:27:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:27:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:27:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0%
2025-11-15 02:27:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:27:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:27:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:27:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:27:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:27:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:27:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:28:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:28:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:28:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0%
2025-11-15 02:28:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:28:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:28:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:28:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:28:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:28:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0%
2025-11-15 02:28:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:28:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:28:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:29:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:29:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:29:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:29:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:29:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:29:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:29:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:29:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:29:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:29:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:29:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0%
2025-11-15 02:29:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:29:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:29:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:29:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:29:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:29:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:29:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:29:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-11-15 02:30:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:30:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:30:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:30:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:30:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:30:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0%
2025-11-15 02:30:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:30:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:30:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:30:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:30:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:30:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:30:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-11-15 02:30:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:30:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:31:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:31:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:31:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0%
2025-11-15 02:31:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:31:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:31:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:31:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:31:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:31:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:31:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:31:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0%
2025-11-15 02:31:49 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:31:49 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:31:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:32:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:32:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:32:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:32:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:32:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:32:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:32:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:32:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0%
2025-11-15 02:32:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:32:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:32:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:32:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:32:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:32:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:32:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:32:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:32:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-11-15 02:33:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:33:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:33:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:33:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0%
2025-11-15 02:33:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:33:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:33:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:33:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:33:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:33:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:33:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:33:52 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251115_02.log,路徑: Log/20251115_02.log
2025-11-15 02:33:52 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化...
2025-11-15 02:33:52 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用
2025-11-15 02:33:53 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0
2025-11-15 02:33:53 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint
2025-11-15 02:33:53 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫...
2025-11-15 02:33:53 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建
2025-11-15 02:33:53 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫...
2025-11-15 02:33:53 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.68GB
2025-11-15 02:33:53 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9
2025-11-15 02:33:53 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功
2025-11-15 02:33:53 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0%
2025-11-15 02:33:53 - INFO - database - [database.py:322] - init_db - 数据库初始化成功
2025-11-15 02:33:53 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功
2025-11-15 02:33:53 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件...
2025-11-15 02:33:53 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建
2025-11-15 02:33:53 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功
2025-11-15 02:33:53 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32
2025-11-15 02:33:53 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY']
2025-11-15 02:33:53 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY
2025-11-15 02:33:53 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module
2025-11-15 02:33:53 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功
2025-11-15 02:33:53 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組
2025-11-15 02:33:53 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:60] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10
2025-11-15 02:33:53 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功
2025-11-15 02:33:53 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組
2025-11-15 02:33:53 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組
2025-11-15 02:33:53 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組
2025-11-15 02:33:53 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成
2025-11-15 02:33:53 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程
2025-11-15 02:33:53 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成
2025-11-15 02:33:53 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功
2025-11-15 02:33:53 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器
2025-11-15 02:33:53 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用
2025-11-15 02:33:53 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用
2025-11-15 02:33:53 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用
2025-11-15 02:33:53 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用
2025-11-15 02:33:53 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用
2025-11-15 02:33:53 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用
2025-11-15 02:33:53 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用
2025-11-15 02:33:53 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用
2025-11-15 02:33:53 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務
2025-11-15 02:33:53 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成
2025-11-15 02:33:53 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成
2025-11-15 02:33:53 - INFO - main - [main.py:248] - initialize_database - 已更新 admin_routes 的數據庫變量
2025-11-15 02:33:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:33:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:33:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-11-15 02:33:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:33:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:33:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:33:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:33:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:34:00 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:34:00 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:34:00 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:34:00 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:34:00 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:34:00 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:34:00 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:34:00 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:34:00 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:34:02 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:34:04 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:34:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0%
2025-11-15 02:34:15 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:34:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:34:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:34:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:34:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:34:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:34:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:34:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:34:44 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:34:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:34:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:34:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:34:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:34:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:35:23 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.6MB, CPU 0.0%
2025-11-15 02:35:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:35:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:35:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0%
2025-11-15 02:35:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:35:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:35:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:35:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-11-15 02:35:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:35:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:35:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:35:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:35:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:35:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:35:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:35:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:35:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:35:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:36:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:36:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:36:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:36:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:36:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:36:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:36:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:36:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:36:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:36:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:36:53 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.9MB, CPU 0.0%
2025-11-15 02:36:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:36:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:36:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:36:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:37:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0%
2025-11-15 02:37:16 - INFO - flask_wtf.csrf - [csrf.py:263] - protect - The CSRF token is missing.
2025-11-15 02:37:16 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/login]: 400 Bad Request: The CSRF token is missing.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 261, in protect
validate_csrf(self._get_csrf_token())
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 100, in validate_csrf
raise ValidationError("The CSRF token is missing.")
wtforms.validators.ValidationError: The CSRF token is missing.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 915, in full_dispatch_request
rv = self.preprocess_request()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 1291, in preprocess_request
rv = self.ensure_sync(before_func)()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect
self.protect()
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 264, in protect
self._error_response(e.args[0])
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 307, in _error_response
raise CSRFError(reason)
flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF token is missing.
2025-11-15 02:37:34 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:37:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:37:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:37:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:37:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:37:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:37:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:37:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:37:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:37:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:37:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:38:23 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.9MB, CPU 0.0%
2025-11-15 02:38:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:38:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:38:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.1MB, CPU 0.0%
2025-11-15 02:38:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:38:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:38:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:38:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:38:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:38:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:38:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:38:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:38:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:38:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:38:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:38:54 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:38:54 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:38:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-11-15 02:39:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:39:20 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:39:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:39:28 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:39:31 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:39:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:39:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:39:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:39:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-11-15 02:39:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:39:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:39:43 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:39:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:39:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:39:53 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.0MB, CPU 0.0%
2025-11-15 02:39:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:39:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:39:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:39:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:40:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.1MB, CPU 0.0%
2025-11-15 02:40:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-11-15 02:40:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:40:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-11-15 02:40:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:40:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:40:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:40:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:40:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:40:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:40:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-11-15 02:40:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:40:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:40:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:40:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:40:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:40:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:41:13 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:41:23 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.0MB, CPU 0.0%
2025-11-15 02:41:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:41:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:41:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.1MB, CPU 0.0%
2025-11-15 02:41:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:41:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:41:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:41:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:41:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:41:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:41:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:41:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:41:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:41:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:41:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:41:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:41:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:41:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:42:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:42:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:42:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:42:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:42:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:42:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:42:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:42:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:42:53 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.0MB, CPU 0.0%
2025-11-15 02:42:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:42:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:42:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:42:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:43:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.1MB, CPU 0.0%
2025-11-15 02:43:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:43:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:43:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:43:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:43:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:43:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:43:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:43:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:43:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:43:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:43:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-11-15 02:43:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:44:23 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.1MB, CPU 0.0%
2025-11-15 02:44:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.1MB, CPU 0.0%
2025-11-15 02:44:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:44:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:44:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:44:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:44:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:44:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:44:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:44:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:44:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:44:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:44:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:44:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:44:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:44:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:44:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:44:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:45:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:45:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:45:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:45:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:45:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:45:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:45:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:45:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-11-15 02:45:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:45:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:45:53 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.1MB, CPU 0.0%
2025-11-15 02:45:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:45:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:45:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:45:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:46:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.1MB, CPU 0.0%
2025-11-15 02:46:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:46:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-11-15 02:46:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:46:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:46:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:46:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:46:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:46:42 - INFO - flask_wtf.csrf - [csrf.py:263] - protect - The CSRF token is missing.
2025-11-15 02:46:42 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/login]: 400 Bad Request: The CSRF token is missing.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 261, in protect
validate_csrf(self._get_csrf_token())
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 100, in validate_csrf
raise ValidationError("The CSRF token is missing.")
wtforms.validators.ValidationError: The CSRF token is missing.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 915, in full_dispatch_request
rv = self.preprocess_request()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 1291, in preprocess_request
rv = self.ensure_sync(before_func)()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect
self.protect()
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 264, in protect
self._error_response(e.args[0])
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 307, in _error_response
raise CSRFError(reason)
flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF token is missing.
2025-11-15 02:46:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:46:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:46:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:46:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:46:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:47:20 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 02:47:23 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.1MB, CPU 0.0%
2025-11-15 02:47:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.1MB, CPU 0.0%
2025-11-15 02:47:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:47:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:47:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:47:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:47:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:47:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:47:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:47:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:47:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:47:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:47:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:47:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:47:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:47:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:47:56 - INFO - flask_wtf.csrf - [csrf.py:263] - protect - The CSRF token is missing.
2025-11-15 02:47:56 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/login]: 400 Bad Request: The CSRF token is missing.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 261, in protect
validate_csrf(self._get_csrf_token())
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 100, in validate_csrf
raise ValidationError("The CSRF token is missing.")
wtforms.validators.ValidationError: The CSRF token is missing.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 915, in full_dispatch_request
rv = self.preprocess_request()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 1291, in preprocess_request
rv = self.ensure_sync(before_func)()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect
self.protect()
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 264, in protect
self._error_response(e.args[0])
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 307, in _error_response
raise CSRFError(reason)
flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF token is missing.
2025-11-15 02:48:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:48:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:48:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:48:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:48:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:48:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:48:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:48:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:48:53 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.1MB, CPU 0.0%
2025-11-15 02:48:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:48:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-11-15 02:48:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:48:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:48:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:48:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:49:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.1MB, CPU 0.0%
2025-11-15 02:49:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:49:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:49:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:49:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0
2025-11-15 02:49:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:49:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:49:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:49:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:49:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:49:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:49:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:49:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:50:23 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:50:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.1MB, CPU 0.0%
2025-11-15 02:50:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:50:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:50:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:50:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:50:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-11-15 02:50:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:50:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:50:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-11-15 02:50:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:50:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:50:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:50:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:50:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:50:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:50:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:50:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:50:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:50:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:51:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:51:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:51:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:51:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:51:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:51:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:51:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:51:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:51:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:51:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:51:53 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:51:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:51:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:51:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:51:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:52:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.1MB, CPU 0.0%
2025-11-15 02:52:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:52:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:52:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:52:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:52:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:52:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:52:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:52:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:52:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:52:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:53:23 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:53:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.1MB, CPU 0.0%
2025-11-15 02:53:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:53:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:53:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:53:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:53:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:53:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:53:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:53:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:53:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:53:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:53:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:53:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:53:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:53:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:53:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:53:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-11-15 02:54:08 - INFO - flask_wtf.csrf - [csrf.py:263] - protect - The CSRF token is missing.
2025-11-15 02:54:08 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/login]: 400 Bad Request: The CSRF token is missing.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 261, in protect
validate_csrf(self._get_csrf_token())
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 100, in validate_csrf
raise ValidationError("The CSRF token is missing.")
wtforms.validators.ValidationError: The CSRF token is missing.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 915, in full_dispatch_request
rv = self.preprocess_request()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 1291, in preprocess_request
rv = self.ensure_sync(before_func)()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect
self.protect()
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 264, in protect
self._error_response(e.args[0])
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 307, in _error_response
raise CSRFError(reason)
flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF token is missing.
2025-11-15 02:54:08 - INFO - flask_wtf.csrf - [csrf.py:263] - protect - The CSRF token is missing.
2025-11-15 02:54:08 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/login]: 400 Bad Request: The CSRF token is missing.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 261, in protect
validate_csrf(self._get_csrf_token())
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 100, in validate_csrf
raise ValidationError("The CSRF token is missing.")
wtforms.validators.ValidationError: The CSRF token is missing.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 915, in full_dispatch_request
rv = self.preprocess_request()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 1291, in preprocess_request
rv = self.ensure_sync(before_func)()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect
self.protect()
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 264, in protect
self._error_response(e.args[0])
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 307, in _error_response
raise CSRFError(reason)
flask_wtf.csrf.CSRFError: 400 Bad Request: The CSRF token is missing.
2025-11-15 02:54:10 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/login]: 400 Bad Request: The referrer header is missing.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 915, in full_dispatch_request
rv = self.preprocess_request()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 1291, in preprocess_request
rv = self.ensure_sync(before_func)()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 229, in csrf_protect
self.protect()
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 268, in protect
self._error_response("The referrer header is missing.")
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask_wtf/csrf.py", line 307, in _error_response
raise CSRFError(reason)
flask_wtf.csrf.CSRFError: 400 Bad Request: The referrer header is missing.
2025-11-15 02:54:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:54:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:54:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:54:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:54:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:54:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-11-15 02:54:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:54:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:54:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:54:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-11-15 02:54:53 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:54:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:54:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:54:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:54:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:55:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.2MB, CPU 0.0%
2025-11-15 02:55:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:55:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:55:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:55:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:55:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:55:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:55:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-11-15 02:55:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:55:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:55:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:55:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:55:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:56:23 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:56:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.2MB, CPU 0.0%
2025-11-15 02:56:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:56:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:56:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:56:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:56:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:56:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:56:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:56:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:56:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:56:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:56:47 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:56:47 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:56:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:56:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:56:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:56:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:57:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:57:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: daily_audit_quality_check
2025-11-15 02:57:22 - INFO - mail_notify - [mail_notify.py:319] - check_and_send_daily_alert - 開始檢查 2025-11-14 的審核品質
2025-11-15 02:57:22 - INFO - mail_notify - [mail_notify.py:329] - check_and_send_daily_alert - 審核統計 - 總數: 0, 問題案件: 0, 比例: 0.0%
2025-11-15 02:57:22 - WARNING - mail_notify - [mail_notify.py:335] - check_and_send_daily_alert - 檢測到系統服務異常:2025-11-14 零審核案件
2025-11-15 02:57:25 - INFO - mail_notify - [mail_notify.py:290] - send_email - 警告郵件已成功發送到 erictseng618@gmail.com
2025-11-15 02:57:25 - INFO - mail_notify - [mail_notify.py:350] - check_and_send_daily_alert - 每日系統服務異常警告郵件發送成功
2025-11-15 02:57:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'daily_audit_quality_check' 執行完成,耗時 3.24 秒,結果: True
2025-11-15 02:57:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:57:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:57:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:57:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:57:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:57:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:57:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:57:53 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:57:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:57:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:57:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:57:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:58:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.2MB, CPU 0.0%
2025-11-15 02:58:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:58:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:58:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 02:58:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:58:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:58:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:58:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:58:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 02:58:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:58:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:58:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:58:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 02:59:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: clean_old_logs
2025-11-15 02:59:04 - INFO - database - [database.py:1026] - clean_old_logs - 已清理 0 条旧日志记录
2025-11-15 02:59:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'clean_old_logs' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:59:23 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0%
2025-11-15 02:59:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 124.2MB, CPU 0.0%
2025-11-15 02:59:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:59:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:59:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 02:59:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-11-15 02:59:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:59:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-11-15 02:59:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:59:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:59:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:59:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 02:59:47 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 02:59:47 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 02:59:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:59:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-11-15 02:59:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 02:59:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 03:00:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 03:00:15 - ERROR - main - [main.py:200] - handle_api_exception - 網頁錯誤 [/]: 405 Method Not Allowed: The method is not allowed for the requested URL.
Traceback (most recent call last):
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 891, in dispatch_request
self.raise_routing_exception(req)
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/app.py", line 500, in raise_routing_exception
raise request.routing_exception # type: ignore[misc]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/ctx.py", line 362, in match_request
result = self.url_adapter.match(return_rule=True) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/werkzeug/routing/map.py", line 624, in match
raise MethodNotAllowed(valid_methods=list(e.have_match_for)) from None
werkzeug.exceptions.MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL.
2025-11-15 03:00:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0%
2025-11-15 03:00:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 03:00:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 03:00:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 03:00:42 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251115_02.log,新:20251115_03.log
2025-11-15 03:00:52 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 03:00:52 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 03:00:53 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0%
2025-11-15 03:00:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 03:00:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 03:00:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 03:00:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 03:01:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 03:01:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 03:01:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0%
2025-11-15 03:01:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 03:01:43 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251115_02.log,新:20251115_03.log
2025-11-15 03:01:56 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 03:01:56 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 03:02:23 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0%
2025-11-15 03:02:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 03:02:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 03:02:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 03:02:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 03:02:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 03:02:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 03:03:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 126.1MB, CPU 0.0%
2025-11-15 03:03:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-11-15 03:03:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-11-15 03:03:53 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0%
2025-11-15 03:03:55 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-11-15 03:03:55 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-11-15 03:03:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-11-15 03:03:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-11-15 03:03:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 03:03:57 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251115_02.log,新:20251115_03.log
2025-11-15 03:04:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-11-15 03:04:37 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251115_02.log,新:20251115_03.log