日誌查看 - 20251115_01.log
文件大小: 180.89 KB 最後修改: 2025-11-15 02:04:32
2025-11-15 01:01:32 - 初始化新小時日誌檔案 2025-11-15 01:01:32 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251115_01.log 2025-11-15 01:01:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-11-15 01:01:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:01:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:01:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:02:20 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251115_01.log 2025-11-15 01:02:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-11-15 01:02:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:02:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-11-15 01:02:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:02:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:02:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:02:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:02:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:03:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:03:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:03:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:03:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:03:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:03:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:04:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:04:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:04:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:04:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:04:27 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251115_01.log 2025-11-15 01:04:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-11-15 01:04:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:04:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:04:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:04:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:04:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-11-15 01:04:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:04:57 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251115_01.log 2025-11-15 01:04:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True 2025-11-15 01:04:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:04:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:05:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:05:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:05:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:05:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:05:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:05:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:05:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:05:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:05:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:05:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:05:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:05:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:05:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:06:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:06:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.2MB, CPU 0.0% 2025-11-15 01:06:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:06:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:06:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:06:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:06:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:06:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:06:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:06:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:06:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:06:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:06:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:06:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:06:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: perform_garbage_collection 2025-11-15 01:06:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'perform_garbage_collection' 執行完成,耗時 0.00 秒,結果: True 2025-11-15 01:07:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: clean_old_logs 2025-11-15 01:07:00 - INFO - database - [database.py:1026] - clean_old_logs - 已清理 0 条旧日志记录 2025-11-15 01:07:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'clean_old_logs' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:07:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-11-15 01:07:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:07:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:07:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-11-15 01:07:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:07:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:07:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:07:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:07:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:07:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:07:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:07:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:07:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:07:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.2MB, CPU 0.0% 2025-11-15 01:07:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:07:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:07:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:07:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:07:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:08:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:08:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:08:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:08:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:08:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:08:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:08:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:08:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:08:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:08:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:08:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:08:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:08:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:09:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:09:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.2MB, CPU 0.0% 2025-11-15 01:09:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:09:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:09:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:09:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:09:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:09:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:09:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:09:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:09:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:09:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:09:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:09:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:09:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-11-15 01:09:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:10:19 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-11-15 01:10:19 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:10:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:10:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:10:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:10:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:10:25 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-11-15 01:10:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:10:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:10:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:10:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:10:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:10:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:10:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.2MB, CPU 0.0% 2025-11-15 01:10:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:10:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:10:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:10:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:10:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:11:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:11:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:11:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:11:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:11:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:11:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:11:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:11:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:11:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:11:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:11:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:11:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:11:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:11:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:11:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:12:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:12:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.2MB, CPU 0.0% 2025-11-15 01:12:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:12:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:12:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:12:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-11-15 01:12:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:12:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:12:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:12:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:12:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:12:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:12:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:12:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:13:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:13:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:13:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:13:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:13:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:13:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:13:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:13:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:13:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:13:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.2MB, CPU 0.0% 2025-11-15 01:13:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:13:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:13:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:13:57 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:13:57 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:14:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:14:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:14:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:14:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:14:27 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:14:27 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:14:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:14:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:14:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:14:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:14:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:14:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:14:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-11-15 01:14:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:14:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:14:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:14:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:15:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:15:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.2MB, CPU 0.0% 2025-11-15 01:15:21 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:15:21 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:15:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:15:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:15:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:15:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:15:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:15:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:15:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:15:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:16:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:16:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:16:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:16:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:16:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:16:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:16:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:16:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:16:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:16:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:16:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:16:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.2MB, CPU 0.0% 2025-11-15 01:16:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:16:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:16:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:16:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:16:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:17:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:17:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:17:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:17:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-11-15 01:17:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:17:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:17:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:17:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:17:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:17:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:17:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:17:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:17:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:17:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:17:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:18:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:18:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.2MB, CPU 0.0% 2025-11-15 01:18:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:18:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:18:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:18:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:18:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:18:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:18:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:18:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:18:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:18:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:19:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:19:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:19:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:19:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:19:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:19:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:19:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:19:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-11-15 01:19:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:19:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:19:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:19:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.2MB, CPU 0.0% 2025-11-15 01:19:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:19:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:19:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.05 秒,結果: 0 2025-11-15 01:19:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:19:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:19:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:19:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:20:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:20:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:20:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:20:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:20:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:20:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:20:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:20:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:20:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:20:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:20:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:20:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:20:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:21:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:21:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.6MB, CPU 0.0% 2025-11-15 01:21:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:21:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:21:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:21:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:21:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-11-15 01:21:34 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:21:34 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:21:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:21:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:21:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:21:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:21:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:22:08 - 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 01:22:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:22:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:22:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:22:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:22:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:22:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:22:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:22:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:22:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:22:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:22:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:22:48 - 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 01:22:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.6MB, CPU 0.0% 2025-11-15 01:22:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:22:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:22:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:22:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:22:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:23:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:23:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:23:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:23:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:23:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:23:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:23:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:23:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:23:38 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:23:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:23:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:23:47 - INFO - flask_wtf.csrf - [csrf.py:263] - protect - The CSRF token is missing. 2025-11-15 01:23:47 - 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 01:23:50 - 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 01:23:54 - 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 01:23:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:23:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:24:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:24:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.6MB, CPU 0.0% 2025-11-15 01:24:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:24:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:24:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:24:28 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:24:28 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:24:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:24:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:24:43 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:24:43 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-11-15 01:24:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:24:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:24:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:24:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:24:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:25:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:25:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:25:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:25:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:25:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:25:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:25:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:25:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:25:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:25:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.7MB, CPU 0.0% 2025-11-15 01:25:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:25:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:25:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:25:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:25:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:26: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 01:26: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 01:26:22 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:26:22 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:26:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:26:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:26:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.3MB, CPU 0.0% 2025-11-15 01:26:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:26:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:26:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:26:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:26:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:26:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:26:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:26:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:26:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:26:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:27:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:27:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.1MB, CPU 0.0% 2025-11-15 01:27:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:27:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:27:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:27:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:27:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:27:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:27:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:27:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:27:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:27:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0% 2025-11-15 01:27:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:27:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:28:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:28:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:28:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:28:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:28:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:28:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:28:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:28:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:28:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:28:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.1MB, CPU 0.0% 2025-11-15 01:28:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:28:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:28:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:28:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:28:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:29:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:29:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:29:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0% 2025-11-15 01:29:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:29:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:29:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:29:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:29:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:29:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-11-15 01:29:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:29:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:29:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:29:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-11-15 01:29:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:29:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:29:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:29:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-11-15 01:30:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:30:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.1MB, CPU 0.0% 2025-11-15 01:30:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:30:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:30:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:30:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:30:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:30:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:30:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:30:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0% 2025-11-15 01:30:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:30:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:31:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:31:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:31:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:31:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:31:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:31:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:31:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:31:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:31:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:31:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:31:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:31:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.1MB, CPU 0.0% 2025-11-15 01:31:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:31:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:31:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:31:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:31:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:32:09 - 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 01:32:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:32:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:32:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:32:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-11-15 01:32:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0% 2025-11-15 01:32:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:32:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:32:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:32:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:32:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:32:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:32:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:32:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:32: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 01:32:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:32:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:33:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:33:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0% 2025-11-15 01:33:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:33:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:33:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:33:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:33:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:33:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:33:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:33:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0% 2025-11-15 01:33:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:33:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:34:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:34:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:34:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:34:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:34:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:34:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:34:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:34:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:34:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:34:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:34:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-11-15 01:34:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0% 2025-11-15 01:34:48 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: clean_old_logs 2025-11-15 01:34:48 - INFO - database - [database.py:1026] - clean_old_logs - 已清理 0 条旧日志记录 2025-11-15 01:34:48 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'clean_old_logs' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:34:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-11-15 01:34:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:34:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:34:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:34:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-11-15 01:34:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:34:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:34:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:34:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:35:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:35:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:35:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0% 2025-11-15 01:35:29 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:35:29 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:35:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:35:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:35:39 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:35:39 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:35:44 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:35:44 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:35:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:35:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:36:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:36:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0% 2025-11-15 01:36:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:36:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:36:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:36:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:36:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:36:35 - 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 01:36:35 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:36:35 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:36:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:36:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:36:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.6MB, CPU 0.0% 2025-11-15 01:36:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:36:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:37:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-11-15 01:37:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:37: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 01:37:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:37:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-11-15 01:37:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:37:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:37:23 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:37:23 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:37:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:37:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:37:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:37:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:37:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:37:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0% 2025-11-15 01:37:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:37:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:37:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:37:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:38:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:38:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:38:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:38:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.6MB, CPU 0.0% 2025-11-15 01:38:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:38:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:38:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:38:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:38:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:38:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:38:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:38:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:39:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:39:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:39:05 - INFO - flask_wtf.csrf - [csrf.py:263] - protect - The CSRF token is missing. 2025-11-15 01:39:05 - 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 01:39:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:39:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.2MB, CPU 0.0% 2025-11-15 01:39:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:39:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:39:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:39:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:39:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:39:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:39:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-11-15 01:39:38 - 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 01:39:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:39:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-11-15 01:39:56 - 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 01:39:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.6MB, CPU 0.0% 2025-11-15 01:40:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:40:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:40:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:40:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:40: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 01:40:20 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-11-15 01:40:20 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:40:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:40:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:40:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:40:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-11-15 01:40:26 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-11-15 01:40:26 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:40:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:40:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:40:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:40:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:40:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:40:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0% 2025-11-15 01:40:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:41:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:41:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:41:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:41:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:41:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:41:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:41:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.6MB, CPU 0.0% 2025-11-15 01:41:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:41:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:41:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:41:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:41:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:41:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:41:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:41:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:41:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:41:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:42:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:42:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:42:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:42:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0% 2025-11-15 01:42:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:42:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:42:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:42:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-11-15 01:42:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:42:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:42:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:42:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:42:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:42:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.6MB, CPU 0.0% 2025-11-15 01:43:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:43:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:43:12 - 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 01:43: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 01:43:19 - 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 01:43:19 - 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 01:43:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:43:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:43:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:43:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:43:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:43:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:43:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:43:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:43:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:43:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0% 2025-11-15 01:43:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:44:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:44:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:44:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:44:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:44:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:44:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:44:27 - 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 01:44:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0% 2025-11-15 01:44:30 - 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 01:44:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:44:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:44:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:44:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:44:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:44:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:44:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:44:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:44:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:44:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:44:53 - 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 01:45: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 01:45:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:45:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:45:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:45:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-11-15 01:45:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:45:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0% 2025-11-15 01:45:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:45:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:45:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:45:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:45:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:45:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:45:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:45:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0% 2025-11-15 01:46:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:46:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:46:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:46:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:46:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:46:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:46:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:46:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:46:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:46:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:46:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:46:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:46:45 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:46:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0% 2025-11-15 01:46:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:47:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:47:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:47:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:47:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:47:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:47:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:47:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:47:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-11-15 01:47:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0% 2025-11-15 01:47:30 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:47:30 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:47:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:47:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:47:40 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:47:40 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:47:45 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:47:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:48:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:48:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:48:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:48:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0% 2025-11-15 01:48:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:48:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:48:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:48:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:48:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:48:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:48:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:48:59 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.7MB, CPU 0.0% 2025-11-15 01:49:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:49:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:49:09 - 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 01:49:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:49:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:49:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:49:24 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:49:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:49:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:49:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:49:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-11-15 01:49:36 - 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 01:49:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:49:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:49:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-11-15 01:49:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.4MB, CPU 0.0% 2025-11-15 01:49:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:50:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:50:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-11-15 01:50:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:50:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:50:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:50:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:50: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 01:50:24 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:50:25 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:50:29 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.8MB, CPU 0.0% 2025-11-15 01:50:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:50:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:50:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:50:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:50:34 - INFO - root - [logging_config.py:130] - setup_logging - 日誌系統初始化完成,小時日誌檔案: 20251115_01.log,路徑: Log/20251115_01.log 2025-11-15 01:50:34 - INFO - main - [main.py:35] - <module> - 應用啟動:正在初始化... 2025-11-15 01:50:34 - INFO - main - [main.py:46] - <module> - CSRF 防護已啟用 2025-11-15 01:50:35 - INFO - root - [crypto_utils.py:26] - <module> - 成功載入 pycryptodome 版本: 3.23.0 2025-11-15 01:50:35 - INFO - main - [main.py:130] - <module> - 已註冊 5 個 Blueprint 2025-11-15 01:50:35 - INFO - main - [main.py:229] - initialize_database - 應用啟動:正在初始化數據庫... 2025-11-15 01:50:35 - INFO - main - [main.py:233] - initialize_database - 數據庫表結構已創建 2025-11-15 01:50:35 - INFO - database - [database.py:212] - get_engine - 正在連接到資料庫... 2025-11-15 01:50:35 - INFO - database - [database.py:75] - calculate_pool_size - 系統資源:CPU 核心=2, 總記憶體=7.71GB, 可用記憶體=6.67GB 2025-11-15 01:50:35 - INFO - database - [database.py:101] - calculate_pool_size - 動態計算連接池配置:pool_size=6, max_overflow=9 2025-11-15 01:50:35 - INFO - database - [database.py:242] - get_engine - 資料庫連接測試成功 2025-11-15 01:50:35 - INFO - database - [database.py:246] - get_engine - 連接池初始健康狀態:True, 使用率:0.0% 2025-11-15 01:50:35 - INFO - database - [database.py:322] - init_db - 数据库初始化成功 2025-11-15 01:50:35 - INFO - main - [main.py:238] - initialize_database - 數據庫初始化成功 2025-11-15 01:50:35 - INFO - main - [app_initializer.py:56] - setup_app - 正在初始化应用程序组件... 2025-11-15 01:50:35 - INFO - main - [app_initializer.py:64] - setup_app - 數據表已確認創建 2025-11-15 01:50:35 - INFO - main - [app_initializer.py:72] - setup_app - 数据库初始化成功 2025-11-15 01:50:35 - INFO - ContentAnalyzer - [analyzer.py:41] - __init__ - 從環境變量獲取的 API 密鑰長度: 32 2025-11-15 01:50:35 - INFO - ContentAnalyzer - [analyzer.py:42] - __init__ - 環境變量中的所有變量: ['GPT41_API_KEY'] 2025-11-15 01:50:35 - INFO - ContentAnalyzer - [analyzer.py:54] - __init__ - 已成功加載 GPT4_API_KEY 2025-11-15 01:50:35 - INFO - ContentAnalyzer - [analyzer.py:73] - __init__ - Successfully imported AzureOpenAI module 2025-11-15 01:50:35 - INFO - main - [app_initializer.py:80] - setup_app - 内容分析器初始化成功 2025-11-15 01:50:35 - INFO - main - [app_initializer.py:85] - setup_app - 已同步 content_analyzer 到 url_processor 模組 2025-11-15 01:50:35 - INFO - WebDriverInstanceManager - [webdriver_instance_manager.py:60] - __init__ - WebDriver實例管理器初始化完成,最大實例數: 3,隊列大小: 10 2025-11-15 01:50:35 - INFO - main - [app_initializer.py:93] - setup_app - 网页抓取器初始化成功 2025-11-15 01:50:35 - INFO - main - [app_initializer.py:101] - setup_app - 已同步全局變量到 url_processor 模組 2025-11-15 01:50:35 - INFO - main - [app_initializer.py:105] - setup_app - 已同步 web_scraper 到 helpers 模組 2025-11-15 01:50:35 - INFO - main - [app_initializer.py:110] - setup_app - 已同步全局變量到 request_processor 模組 2025-11-15 01:50:35 - INFO - main - [app_initializer.py:112] - setup_app - ✅ 所有處理模組的全局變量同步完成 2025-11-15 01:50:35 - INFO - ThreadPoolManager - [thread_pool.py:67] - start - 啟動線程池,初始化 5 個工作線程 2025-11-15 01:50:35 - INFO - ThreadPoolManager - [thread_pool.py:80] - start - 線程池啟動完成 2025-11-15 01:50:35 - INFO - main - [app_initializer.py:120] - setup_app - 线程池初始化成功 2025-11-15 01:50:35 - INFO - scheduler - [scheduler.py:40] - start - 啟動任務調度器 2025-11-15 01:50:35 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_requests',間隔 180 秒,已啟用 2025-11-15 01:50:35 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'reset_stalled_urls',間隔 1800 秒,已啟用 2025-11-15 01:50:35 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'clean_old_logs',間隔 7200 秒,已啟用 2025-11-15 01:50:35 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'check_database_integrity',間隔 43200 秒,已啟用 2025-11-15 01:50:35 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'perform_garbage_collection',間隔 14400 秒,已啟用 2025-11-15 01:50:35 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'update_hourly_log_file',間隔 300 秒,已啟用 2025-11-15 01:50:35 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'process_api_requests',間隔 60 秒,已啟用 2025-11-15 01:50:35 - INFO - scheduler - [scheduler.py:181] - add_task - 已添加任務 'daily_audit_quality_check',間隔 21600 秒,已啟用 2025-11-15 01:50:35 - INFO - main - [app_initializer.py:217] - setup_scheduled_tasks - 已設置每6小時審核品質檢查任務 2025-11-15 01:50:35 - INFO - main - [app_initializer.py:222] - setup_scheduled_tasks - 定期任务设置完成 2025-11-15 01:50:35 - INFO - main - [app_initializer.py:129] - setup_app - 应用程序组件初始化完成 2025-11-15 01:50:35 - INFO - main - [main.py:248] - initialize_database - 已更新 admin_routes 的數據庫變量 2025-11-15 01:50:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:50:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:50:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls 2025-11-15 01:50:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:50:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:50:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:50:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:50:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:50:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:50:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:50:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:50:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:50: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 01:50:50 - 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 01:51: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 01:51:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:51:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:51:01 - 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 01:51:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:51:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-11-15 01:51:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:51:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:51:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:51:36 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:51:36 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:51:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:51:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:51:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:51:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:52:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:52:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:52:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.2MB, CPU 0.0% 2025-11-15 01:52:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:52:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:52:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:52:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:52:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:52:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:52:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:52:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-11-15 01:52:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:53:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:53:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:53:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:53:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:53:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:53:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:53:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:53:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:53:33 - 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 01:53:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.7MB, CPU 0.0% 2025-11-15 01:53:36 - 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 01:53:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:53:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:53:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:53:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:53:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:53:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:53:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:53:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-11-15 01:54:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:54:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:54:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:54:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-11-15 01:54:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:54:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:54:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:54:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:54:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-11-15 01:54:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:54:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:54:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:54:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0 2025-11-15 01:55:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:55:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:55:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:55:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:55:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.8MB, CPU 0.0% 2025-11-15 01:55:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:55:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:55:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:55:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:55:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:55:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0 2025-11-15 01:55:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:55: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 01:55:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:55:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:55:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-11-15 01:55:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:56:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:56:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:56:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:56:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:56:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:56:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:56:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:56:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:56:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.9MB, CPU 0.0% 2025-11-15 01:56:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:56:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:56:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:56:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:56:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:56:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:56:41 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:56:41 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:56:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:56:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:56:47 - 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 01:56:47 - 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 01:57:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:57:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:57:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:57:18 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-11-15 01:57:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:57:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:57:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:57:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:57:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:57:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:57:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:58:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:58:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:58:05 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.9MB, CPU 0.0% 2025-11-15 01:58:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:58:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:58:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:58:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:58:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 01:58:46 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:58:46 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:58:48 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 123.5MB, CPU 0.0% 2025-11-15 01:58:55 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 01:59:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:59:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:59:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:59:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:59:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:59:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:59:31 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 01:59:31 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False 2025-11-15 01:59:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:59:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 01:59:35 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 122.9MB, CPU 0.0% 2025-11-15 01:59:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:59:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:59:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:59:37 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 01:59:42 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 01:59:42 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 01:59:47 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 01:59:47 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0 2025-11-15 02:00:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 02:00:01 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251115_01.log,新:20251115_02.log 2025-11-15 02:00:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 02:00:25 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 132.8MB, CPU 0.0% 2025-11-15 02:00:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 02:00:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 02:00:37 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 02:00:37 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251115_01.log,新:20251115_02.log 2025-11-15 02:00:47 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 02:00:47 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 02:01:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 02:01:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 02:01:38 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 02:01:38 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251115_01.log,新:20251115_02.log 2025-11-15 02:01:41 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 02:02:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests 2025-11-15 02:02:32 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0 2025-11-15 02:02:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 02:02:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0 2025-11-15 02:03:11 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 125.9MB, CPU 0.0% 2025-11-15 02:03:33 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests 2025-11-15 02:03:33 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0 2025-11-15 02:04:32 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file 2025-11-15 02:04:32 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251115_01.log,新:20251115_02.log