文件大小: 298.43 KB
最後修改: 2025-10-14 16:01:09
2025-10-14 15:00:58 - 初始化新小時日誌檔案
2025-10-14 15:00:58 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251014_15.log
2025-10-14 15:00:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True
2025-10-14 15:01:00 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251014_15.log
2025-10-14 15:01:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True
2025-10-14 15:01:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 74, UID: 1k9oglnji7, 進度: 21/21
2025-10-14 15:01:04 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251014_15.log
2025-10-14 15:01:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True
2025-10-14 15:01:04 - INFO - main - [app_initializer.py:383] - update_hourly_log_file - 小時日誌檔案已更新: 20251014_15.log
2025-10-14 15:01:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: True
2025-10-14 15:01:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:01:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:01:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:01:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-14 15:01:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-14 15:01:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-10-14 15:01:07 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:01:07 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.984秒
2025-10-14 15:01:07 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 8.034秒
2025-10-14 15:01:07 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能
2025-10-14 15:01:07 - INFO - main - [url_processor.py:390] - process_url - 子頁面 20 購物車判斷: 有購物車功能
2025-10-14 15:01:07 - INFO - main - [url_processor.py:402] - process_url - 最終購物車判斷結果: 有購物車功能 (檢查了 21 個頁面)
2025-10-14 15:01:07 - INFO - main - [url_processor.py:423] - process_url - 審核通過:21 個頁面通過,0 個頁面被模型拒審(已忽略)
2025-10-14 15:01:07 - INFO - main - [helpers.py:223] - _find_email_in_content - 找到電子郵件 wednesdaystudio2022@gmail.com (完全匹配)
2025-10-14 15:01:07 - INFO - main - [url_processor.py:525] - process_url - URL ID 74 是 UI 提交,使用 URL 記錄中的聯絡資訊進行驗證
2025-10-14 15:01:07 - INFO - main - [helpers.py:223] - _find_email_in_content - 找到電子郵件 wednesdaystudio2022@gmail.com (完全匹配)
2025-10-14 15:01:07 - INFO - main - [url_processor.py:545] - process_url - UI審核(URL ID=74):身份驗證通過
2025-10-14 15:01:07 - INFO - database - [database.py:505] - update_url_status - URL ID 74 状态已更新为 completed
2025-10-14 15:01:07 - INFO - main - [url_processor.py:609] - process_url - URL ID 74 分析完成,結果: pass, API驗證: False
2025-10-14 15:01:07 - INFO - main - [url_processor.py:634] - process_url - 工作線程 #1 完成處理 URL ID: 74
2025-10-14 15:01:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:01:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-10-14 15:01:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 74, UID: 1k9oglnji7, 進度: 21/21
2025-10-14 15:01:13 - ERROR - main - [web_routes.py:200] - result - 显示结果页面失败: No test named '購物車功能:'.
Traceback (most recent call last):
File "/opt/urlanalyze/routes/web_routes.py", line 197, in result
return render_template('result.html', result=result_dict, api_info=api_info, ui_info=ui_info, violations=violations, TAIPEI_TIMEZONE=TAIPEI_TIMEZONE)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/templating.py", line 150, in render_template
return _render(app, template, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/templating.py", line 131, in _render
rv = template.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/opt/urlanalyze/templates/result.html", line 1, in top-level template code
{% extends "base.html" %}
File "/opt/urlanalyze/templates/base.html", line 59, in top-level template code
{% block content %}{% endblock %}
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/templates/result.html", line 69, in block 'content'
{% set cart_line = result.details.split('\n') | selectattr('contains', '購物車功能:') | list | first %}
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/async_utils.py", line 48, in wrapper
return normal_func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/filters.py", line 1365, in sync_do_list
return list(value)
^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/filters.py", line 1798, in select_or_reject
if func(item):
^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/filters.py", line 1783, in <lambda>
return lambda item: modfunc(func(transfunc(item)))
^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/filters.py", line 1778, in func
return context.environment.call_test(name, item, args, kwargs, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/environment.py", line 594, in call_test
return self._filter_test_common(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/environment.py", line 526, in _filter_test_common
raise TemplateRuntimeError(msg)
jinja2.exceptions.TemplateRuntimeError: No test named '購物車功能:'.
2025-10-14 15:02:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:02:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:02:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:02:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:02:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:02:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:02:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:02:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:02:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:02:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:02:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:02:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:02:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:02:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:02:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:02:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:02:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:02:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:02:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:02:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:03:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:03:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:03:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:03:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:03:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:03:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:03:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:03:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:03:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:03:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:03:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:03:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:04:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:04:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:04:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:04:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:04:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:04:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:04:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:04:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:05:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:05:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:05:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:05:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:05:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:05:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:05:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:05:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:05:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:05:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:05:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:05:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:05:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:05:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:05:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:05:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:05:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:05:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:05:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:05:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:05:58 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:05:58 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:06:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:06:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:06:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:06:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:06:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:06:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:06:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:06:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:06:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:06:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-14 15:06:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-14 15:06:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0
2025-10-14 15:06:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:06:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-14 15:06:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:06:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:06:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:06:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:07:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:07:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:07:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:07:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:07:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:07:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:07:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:07:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:08:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:08:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:08:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:08:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:08:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:08:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:08:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:08:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:08:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:08:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:08:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:08:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:08:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:08:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:08:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:08:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:08:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:08:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:08:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:08:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:09:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:09:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:09:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:09:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:09:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:09:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:09:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:09:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:09:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:09:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:09:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:09:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:09:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-14 15:09:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-14 15:09:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-14 15:09:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:09:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:09:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:09:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-14 15:09:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:10:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:10:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:10:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:10:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:10:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:10:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:10:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:10:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:10:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:10:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:11:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:11:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:11:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:11:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:11:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:11:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:11:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:11:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:11:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:11:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:11:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:11:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:11:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:11:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:11:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:11:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:11:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:11:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:11:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:11:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:11:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:11:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-14 15:11:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-14 15:11:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-14 15:11:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:11:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-14 15:12:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:12:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:12:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:12:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:12:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:12:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:12:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:12:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:12:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:12:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:12:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:12:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:13:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:13:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:13:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:13:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:13:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:13:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:13:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:13:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:14:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:14:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:14:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:14:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:14:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:14:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:14:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:14:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:14:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:14:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:14:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:14:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:14:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:14:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:14:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:14:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:14:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:14:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:14:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:14:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:15:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:15:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:15:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:15:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:15:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:15:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:15:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:15:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:15:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:15:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:15:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:15:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:15:59 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:15:59 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:16:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:16:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:16:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:16:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:16:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:16:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:16:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:16:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:16:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:16:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-10-14 15:16:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-14 15:16:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-14 15:16:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:16:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-10-14 15:17:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:17:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:17:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:17:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:17:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:17:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:17:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:17:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:17:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:17:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:17:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:17:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:17:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:17:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:17:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:17:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:17:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:17:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:17:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:17:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:18:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:18:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:18:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:18:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:18:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:18:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:18:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:18:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:18:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:18:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:18:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:18:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:19:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:19:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:19:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:19:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:19:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:19:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:19:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:19:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:20:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:20:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:20:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:20:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-10-14 15:20:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:20:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:20:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:20:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:20:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:20:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:20:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:20:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:20:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:20:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:20:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:20:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:20:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:20:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:20:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:20:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:21:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:21:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:21:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:21:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:21:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:21:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:21:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:21:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:21:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:21:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:21:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:21:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0
2025-10-14 15:21:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0
2025-10-14 15:21:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.11 秒,結果: 0
2025-10-14 15:21:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:21:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-14 15:21:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:21:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:21:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:21:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:22:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:22:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:22:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:22:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:22:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:22:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:22:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:22:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:23:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:23:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:23:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:23:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:23:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:23:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:23:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:23:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:23:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:23:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:23:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:23:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:23:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:23:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:23:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:23:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:23:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:23:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:23:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:23:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:24:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:24:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:24:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:24:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:24:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:24:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:24:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:24:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:24:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:24:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:24:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:24:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:25:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:25:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:25:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:25:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:25:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:25:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:25:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:25:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:26:00 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:26:00 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:26:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:26:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:26:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:26:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:26:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:26:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:26:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:26:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:26:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:26:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:26:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:26:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:26:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:26:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:26:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:26:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:26:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:26:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:26:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:26:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:26:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:26:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-14 15:26:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-14 15:26:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-14 15:26:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:26:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-14 15:27:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:27:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:27:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:27:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:27:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-10-14 15:27:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-10-14 15:27:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:27:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:27:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:27:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:27:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:27:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:28:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:28:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:28:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:28:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:28:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:28:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:28:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:28:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:29:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:29:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:29:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:29:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:29:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:29:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:29:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:29:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:29:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:29:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:29:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:29:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:29:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:29:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:29:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:29:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:29:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:29:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:29:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:29:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:30:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:30:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:30:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:30:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:30:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-10-14 15:30:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:30:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:30:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:30:18 - INFO - database - [database.py:420] - process_url - UI 提交生成 UID: q42qv1vdwc
2025-10-14 15:30:18 - INFO - database - [database.py:426] - process_url - UI 提交 URL https://gululuart.com/pages/contact,結果將立即顯示
2025-10-14 15:30:18 - INFO - main - [web_routes.py:115] - submit_url - UI 提交,URL ID: 75, Phone: 0900111640, Email: happygululu@gmail.com
2025-10-14 15:30:18 - INFO - database - [database.py:536] - get_pending_url - 找到待处理的 URL: ID=75, URL=https://gululuart.com/pages/contact
2025-10-14 15:30:18 - INFO - main - [request_processor.py:690] - process_pending_urls - 已添加 1 個 URL 到處理隊列
2025-10-14 15:30:18 - INFO - main - [url_processor.py:42] - process_url - 工作線程 #1 開始處理 URL ID: 75
2025-10-14 15:30:18 - INFO - main - [url_processor.py:83] - process_url - 分析 URL: https://gululuart.com/pages/contact
2025-10-14 15:30:18 - INFO - main - [url_processor.py:97] - process_url - 嘗試獲取網頁內容 (嘗試 1/3, force_new_driver=False)
2025-10-14 15:30:18 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://gululuart.com/pages/contact, use_selenium=True, proxy=False, force_new_driver=False
2025-10-14 15:30:18 - INFO - WebScraper - [scraper.py:1027] - get_content - 檢測到短網址: https://gululuart.com/pages/contact
2025-10-14 15:30:18 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:120 秒
2025-10-14 15:30:18 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://gululuart.com/pages/contact 的第 1/3 次請求
2025-10-14 15:30:18 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1352ae6790>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/cc7477d52104965e637e07407bf68450
2025-10-14 15:30:18 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13529134d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/cc7477d52104965e637e07407bf68450
2025-10-14 15:30:18 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1352910fd0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/cc7477d52104965e637e07407bf68450
2025-10-14 15:30:18 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-14 15:30:18 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-14 15:30:18 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-14 15:30:18 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-14 15:30:18 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-14 15:30:18 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-14 15:30:18 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:30:18 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-14 15:30:18 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-14 15:30:18 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:30:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:30:19 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-14 15:30:19 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x597d3552e4e3 <unknown>
#1 0x597d3525dc76 <unknown>
#2 0x597d35286d78 <unknown>
#3 0x597d35283029 <unknown>
#4 0x597d352c1ccc <unknown>
#5 0x597d352c147f <unknown>
#6 0x597d352b8de3 <unknown>
#7 0x597d3528e2dd <unknown>
#8 0x597d3528f34e <unknown>
#9 0x597d354ee3e4 <unknown>
#10 0x597d354f23d7 <unknown>
#11 0x597d354fcb20 <unknown>
#12 0x597d354f3023 <unknown>
#13 0x597d354c11aa <unknown>
#14 0x597d355176b8 <unknown>
#15 0x597d35517847 <unknown>
#16 0x597d35527243 <unknown>
#17 0x7e1900494ac3 <unknown>
2025-10-14 15:30:19 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-14 15:30:19 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-14 15:30:19 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-14 15:30:19 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://gululuart.com/pages/contact
2025-10-14 15:30:20 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://gululuart.com/pages/contact
2025-10-14 15:30:20 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-14 15:30:20 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-14 15:30:20 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-14 15:30:20 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://gululuart.com/pages/contact
2025-10-14 15:30:21 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 0/1
2025-10-14 15:30:22 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax
2025-10-14 15:30:22 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-14 15:30:22 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-14 15:30:22 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-14 15:30:26 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 99
2025-10-14 15:30:28 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 99,內容可能已加載完成
2025-10-14 15:30:28 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-14 15:30:28 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失
2025-10-14 15:30:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 0/1
2025-10-14 15:30:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:30:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:30:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:30:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:30:42 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 0/1
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://gululuart.com/pages/contact (實際 URL: https://gululuart.com/pages/contact)
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-14 15:30:44 - INFO - database - [database.py:505] - update_url_status - URL ID 75 状态已更新为 processing
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 98666 字節
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 419 字節
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 524 字節
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 445 字節
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 419 字節,約 64 個詞,12 行
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 聯絡
🎈聯絡我們
如果你對商品或訂單有任何疑問,歡迎與我聯繫。
客服 Email:happygululu@gmail.com
客服時間:週一至週五 10:00 - 18:00 (GMT+8)
工作室地址:新北市三重區永安北路二段35巷21號4樓
---
【Contact Us】
If you have any questions about our products or your order, please feel free to contact me.
Customer Service: happygululu@gmail.com
Service Hours: Monday - Friday, 10:00 AM - 6:00 PM (GMT+8)
4 F., No. 21, Ln. 35, Sec. 2, Yong'an N. Rd., Sanchong Dist., , New Taipei City, 241, TW
2025-10-14 15:30:44 - INFO - ContentAnalyzer - [analyzer.py:310] - check_specific_issues - 開始檢查網頁特定問題: URL=https://gululuart.com/pages/contact, HTML 內容大小=98666 字節
2025-10-14 15:30:44 - INFO - ContentAnalyzer - [analyzer.py:676] - check_specific_issues - 網頁特定問題檢查完成: URL=https://gululuart.com/pages/contact, 發現問題數=9, 嚴重問題數=3, 耗時=0.022秒
2025-10-14 15:30:44 - INFO - ContentAnalyzer - [analyzer.py:681] - check_specific_issues - 問題類型摘要: suspicious_external_script(1), suspicious_inline_script(2), iframe(1), form(5)
2025-10-14 15:30:44 - INFO - ContentAnalyzer - [analyzer.py:685] - check_specific_issues - 嚴重程度摘要: info(6), warning(3)
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:2522] - find_internal_links - 從HTML靜態內容中提取了 10 個內部鏈接
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:2371] - should_skip_url - 跳過低價值URL: https://gululuart.com/policies/privacy-policy (匹配模式: /privacy)
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:2686] - find_internal_links - 總共找到 9 個有效內部鏈接
2025-10-14 15:30:44 - INFO - main - [url_processor.py:153] - process_url - 找到 9 個內部鏈接,最大深度2層
2025-10-14 15:30:44 - INFO - main - [url_processor.py:179] - process_url - 更新 UI 審核進度(URL ID=75):總計 10 個網址,已完成 1 個(主頁面)
2025-10-14 15:30:44 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://gululuart.com/pages/contact
2025-10-14 15:30:44 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://gululuart.com/pages/contact, use_selenium=True, proxy=False, force_new_driver=False
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:1027] - get_content - 檢測到短網址: https://gululuart.com/pages/contact
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:120 秒
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://gululuart.com/pages/contact 的第 1/3 次請求
2025-10-14 15:30:44 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13537464d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f86967d815495b1c7c48bf97002db2b2
2025-10-14 15:30:44 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13537456d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f86967d815495b1c7c48bf97002db2b2
2025-10-14 15:30:44 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13537472d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f86967d815495b1c7c48bf97002db2b2
2025-10-14 15:30:44 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-14 15:30:44 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-14 15:30:44 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-14 15:30:44 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-14 15:30:44 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:30:44 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-14 15:30:44 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-14 15:30:44 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:30:45 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:30:45 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-14 15:30:45 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited normally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x591f7285e4e3 <unknown>
#1 0x591f7258dc76 <unknown>
#2 0x591f725b6d78 <unknown>
#3 0x591f725b3029 <unknown>
#4 0x591f725f1ccc <unknown>
#5 0x591f725f147f <unknown>
#6 0x591f725e8de3 <unknown>
#7 0x591f725be2dd <unknown>
#8 0x591f725bf34e <unknown>
#9 0x591f7281e3e4 <unknown>
#10 0x591f728223d7 <unknown>
#11 0x591f7282cb20 <unknown>
#12 0x591f72823023 <unknown>
#13 0x591f727f11aa <unknown>
#14 0x591f728476b8 <unknown>
#15 0x591f72847847 <unknown>
#16 0x591f72857243 <unknown>
#17 0x700414694ac3 <unknown>
2025-10-14 15:30:45 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-14 15:30:45 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-14 15:30:46 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-14 15:30:46 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://gululuart.com/pages/contact
2025-10-14 15:30:46 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://gululuart.com/pages/contact
2025-10-14 15:30:46 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-14 15:30:46 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-14 15:30:46 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-14 15:30:46 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://gululuart.com/pages/contact
2025-10-14 15:30:48 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax
2025-10-14 15:30:48 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-14 15:30:48 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-14 15:30:48 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-14 15:30:52 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 1/10
2025-10-14 15:30:52 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 99
2025-10-14 15:30:54 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 99,內容可能已加載完成
2025-10-14 15:30:54 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-14 15:30:55 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失
2025-10-14 15:31:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:31:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:31:02 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 1/10
2025-10-14 15:31:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:31:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:31:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:31:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:31:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:31:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:31:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:31:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:31:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://gululuart.com/pages/contact (實際 URL: https://gululuart.com/pages/contact)
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例
2025-10-14 15:31:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.12 秒,結果: 0
2025-10-14 15:31:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.12 秒,結果: 0
2025-10-14 15:31:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.13 秒,結果: 0
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 98666 字節
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 419 字節
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 524 字節
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 445 字節
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 419 字節,約 64 個詞,12 行
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 聯絡
🎈聯絡我們
如果你對商品或訂單有任何疑問,歡迎與我聯繫。
客服 Email:happygululu@gmail.com
客服時間:週一至週五 10:00 - 18:00 (GMT+8)
工作室地址:新北市三重區永安北路二段35巷21號4樓
---
【Contact Us】
If you have any questions about our products or your order, please feel free to contact me.
Customer Service: happygululu@gmail.com
Service Hours: Monday - Friday, 10:00 AM - 6:00 PM (GMT+8)
4 F., No. 21, Ln. 35, Sec. 2, Yong'an N. Rd., Sanchong Dist., , New Taipei City, 241, TW
2025-10-14 15:31:10 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=75):已完成 2/10 個網址
2025-10-14 15:31:10 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://gululuart.com/collections/all
2025-10-14 15:31:10 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://gululuart.com/collections/all, use_selenium=True, proxy=False, force_new_driver=False
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:1027] - get_content - 檢測到短網址: https://gululuart.com/collections/all
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:120 秒
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://gululuart.com/collections/all 的第 1/3 次請求
2025-10-14 15:31:10 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1353559390>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f65c0a78206039bf518fa10bdce3ce90
2025-10-14 15:31:10 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1353559610>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f65c0a78206039bf518fa10bdce3ce90
2025-10-14 15:31:10 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1353758550>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/f65c0a78206039bf518fa10bdce3ce90
2025-10-14 15:31:10 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-14 15:31:10 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-14 15:31:10 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-14 15:31:10 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-14 15:31:10 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:31:10 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-14 15:31:10 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-14 15:31:11 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:31:11 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:31:11 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-14 15:31:11 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x56e01f2494e3 <unknown>
#1 0x56e01ef78c76 <unknown>
#2 0x56e01efa1d78 <unknown>
#3 0x56e01ef9e029 <unknown>
#4 0x56e01efdcccc <unknown>
#5 0x56e01efdc47f <unknown>
#6 0x56e01efd3de3 <unknown>
#7 0x56e01efa92dd <unknown>
#8 0x56e01efaa34e <unknown>
#9 0x56e01f2093e4 <unknown>
#10 0x56e01f20d3d7 <unknown>
#11 0x56e01f217b20 <unknown>
#12 0x56e01f20e023 <unknown>
#13 0x56e01f1dc1aa <unknown>
#14 0x56e01f2326b8 <unknown>
#15 0x56e01f232847 <unknown>
#16 0x56e01f242243 <unknown>
#17 0x753de9294ac3 <unknown>
2025-10-14 15:31:11 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-14 15:31:11 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-14 15:31:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:31:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.14 秒,結果: 0
2025-10-14 15:31:12 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-14 15:31:12 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://gululuart.com/collections/all
2025-10-14 15:31:12 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 2/10
2025-10-14 15:31:13 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://gululuart.com/collections/all
2025-10-14 15:31:13 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-14 15:31:13 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-14 15:31:13 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-14 15:31:13 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://gululuart.com/collections/all
2025-10-14 15:31: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-10-14 15:31:15 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax
2025-10-14 15:31:15 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-14 15:31:15 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-14 15:31:15 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-14 15:31:19 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 180
2025-10-14 15:31:21 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 180,內容可能已加載完成
2025-10-14 15:31:21 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-14 15:31:21 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失
2025-10-14 15:31:21 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'spinner')],等待其消失
2025-10-14 15:31:22 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 2/10
2025-10-14 15:31:32 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 2/10
2025-10-14 15:31:33 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://gululuart.com/collections/all (實際 URL: https://gululuart.com/collections/all)
2025-10-14 15:31:33 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-14 15:31:33 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-14 15:31:33 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例
2025-10-14 15:31:33 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-14 15:31:33 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-14 15:31:33 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-14 15:31:33 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 162948 字節
2025-10-14 15:31:33 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 381 字節
2025-10-14 15:31:33 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 768 字節
2025-10-14 15:31:33 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 874 字節
2025-10-14 15:31:34 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 1545 字節
2025-10-14 15:31:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:31:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:31:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:31:34 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:31:34 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息)
2025-10-14 15:31:34 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 2325 字節,約 233 個詞,308 行
2025-10-14 15:31:34 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至內容
🚚 台灣地區滿 NT$1,800 免運!
登入
Instagram
YouTube
登入
購物車
商品已加入購物車
檢視購物車
繼續購物
篩選條件
篩選條件
全部移除
8 項產品
Iru 的加油打氣馬克杯 (可愛/送禮)|來自小象工廠的溫暖直送
Iru 的加油打氣馬克杯 (可愛/送禮)|來自小象工廠的溫暖直送
定價
從 $380.00 TWD 起
定價
售價
從 $380.00 TWD 起
吊帶褲小象防水貼紙
吊帶褲小象防水貼紙
定價
$120.00 TWD
定價
售價
$120.00 TWD
呆萌小象防水貼紙
呆萌小象防水貼紙
定價
$90.00 TWD
定價
售價
$90.00 TWD
小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 星空黑
小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 星空黑
定價
$990.00 TWD
定價
售價
$990.00 TWD
小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 燕麥牛奶
小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 燕麥牛奶
定價
$990.00 TWD
定價
售價
$990.00 TWD
小象日常隨行袋|100%純棉帆布托特包|輕鬆收納好生活
小象日常隨行袋|100%純棉帆布托特包|輕鬆收納好生活
定價
$580.00 TWD
定價
售價
$580.00 TWD
小象的泡泡糖工作站|純棉短袖 T恤|日常穿搭
小象的泡泡糖工作站|純棉短袖 T恤|日常穿搭
定價
$880.00 TWD
定價
售價
$880.00 TWD
小象能量保溫瓶|可愛古露露插圖不鏽鋼水壺
小象能量保溫瓶|可愛古露露插圖不鏽鋼水壺
定價
從 $1,090.00 TWD 起
定價
售價
從 $1,090.00 TWD 起
選擇項目後,整個頁面將重新整理。
在新視窗中開啟。
額外的結構化內容:
• 有庫存 (8)
有庫存 (8 項產品)
• 無庫存 (0)
無庫存 (0 項產品)
• Iru 的加油打氣馬克杯 (可愛/送禮)|來自小象工廠的溫暖直送
Iru 的加油打氣馬克杯 (可愛/送禮)|來自小象工廠的溫暖直送
定價
從 $380.00 TWD 起
定價
售價
從 $380.00 TWD 起
• 吊帶褲小象防水貼紙
吊帶褲小象防水貼紙
定價
$120.00 TWD
定價
售價
$120.00 TWD
• 呆萌小象防水貼紙
呆萌小象防水貼紙
定價
$90.00 TWD
定價
售價
$90.00 TWD
• 小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 星空黑
小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 星空黑
定價
$990.00 TWD
定價
售價
$990.00 TWD
• 小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 燕麥牛奶
小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 燕麥牛奶
定價
$990.00 TWD
定價
售價
$990.00 TWD
• 小象日常隨行袋|100%純棉帆布托特包|輕鬆收納好生活
小象日常隨行袋|100%純棉帆布托特包|輕鬆收納好生活
定價
$580.00 TWD
定價
售價
$580.00 TWD
• 小象的泡泡糖工作站|純棉短袖 T恤|日常穿搭
小象的泡泡糖工作站|純棉短袖 T恤|日常穿搭
定價
$880.00 TWD
定價
售價
$880.00 TWD
• 小象能量保溫瓶|可愛古露露插圖不鏽鋼水壺
小象能量保溫瓶|可愛古露露插圖不鏽鋼水壺
定價
從 $1,090.00 TWD 起
定價
售價
從 $1,090.00 TWD 起
• 選擇項目後,整個頁面將重新整理。
• 在新視窗中開啟。
2025-10-14 15:31:34 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=75):已完成 3/10 個網址
2025-10-14 15:31:34 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://gululuart.com/cart
2025-10-14 15:31:34 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-14 15:31:34 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://gululuart.com/cart, use_selenium=True, proxy=False, force_new_driver=False
2025-10-14 15:31:34 - INFO - WebScraper - [scraper.py:1027] - get_content - 檢測到短網址: https://gululuart.com/cart
2025-10-14 15:31:34 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:120 秒
2025-10-14 15:31:34 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://gululuart.com/cart 的第 1/3 次請求
2025-10-14 15:31:34 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13537ef010>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/47788d6b612e41496893d0d9b06b337f
2025-10-14 15:31:34 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13537ee150>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/47788d6b612e41496893d0d9b06b337f
2025-10-14 15:31:34 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13537a1090>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/47788d6b612e41496893d0d9b06b337f
2025-10-14 15:31:34 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-14 15:31:34 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-14 15:31:34 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-14 15:31:34 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-14 15:31:34 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-14 15:31:34 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-14 15:31:34 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:31:34 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-14 15:31:34 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-14 15:31:34 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:31:34 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:31:35 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-14 15:31:35 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x636c5c7704e3 <unknown>
#1 0x636c5c49fc76 <unknown>
#2 0x636c5c4c8d78 <unknown>
#3 0x636c5c4c5029 <unknown>
#4 0x636c5c503ccc <unknown>
#5 0x636c5c50347f <unknown>
#6 0x636c5c4fade3 <unknown>
#7 0x636c5c4d02dd <unknown>
#8 0x636c5c4d134e <unknown>
#9 0x636c5c7303e4 <unknown>
#10 0x636c5c7343d7 <unknown>
#11 0x636c5c73eb20 <unknown>
#12 0x636c5c735023 <unknown>
#13 0x636c5c7031aa <unknown>
#14 0x636c5c7596b8 <unknown>
#15 0x636c5c759847 <unknown>
#16 0x636c5c769243 <unknown>
#17 0x72bfeb094ac3 <unknown>
2025-10-14 15:31:35 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-14 15:31:35 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-14 15:31:35 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-14 15:31:35 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://gululuart.com/cart
2025-10-14 15:31:36 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://gululuart.com/cart
2025-10-14 15:31:36 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-14 15:31:36 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-14 15:31:36 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-14 15:31:36 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://gululuart.com/cart
2025-10-14 15:31:38 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax
2025-10-14 15:31:38 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-14 15:31:38 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-14 15:31:38 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-14 15:31:42 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 99
2025-10-14 15:31:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 3/10
2025-10-14 15:31:44 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 99,內容可能已加載完成
2025-10-14 15:31:44 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-14 15:31:44 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失
2025-10-14 15:31:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 3/10
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://gululuart.com/cart (實際 URL: https://gululuart.com/cart)
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 101208 字節
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 459 字節
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 277 字節
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息)
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 277 字節,約 32 個詞,28 行
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至內容
🚚 台灣地區滿 NT$1,800 免運!
登入
Instagram
YouTube
登入
購物車
商品已加入購物車
檢視購物車
繼續購物
您的購物車
繼續購物
您的購物車是空的
繼續購物
是否有帳號?
登入
以加速結帳。
估計總金額
$0.00 TWD
結帳時計算稅額、折扣和
運費
。
結帳
您的購物車中有一件或多件品項為定期購買或延遲購買的品項。繼續即表示我同意
取消政策
,並授權您依據此頁面列出的價格、頻率和日期,透過我的付款方式向我收費,直到我的訂單出貨或者我經過允許取消訂單為止。
選擇項目後,整個頁面將重新整理。
在新視窗中開啟。
2025-10-14 15:32:00 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=75):已完成 4/10 個網址
2025-10-14 15:32:00 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://gululuart.com/policies/contact-information
2025-10-14 15:32:00 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://gululuart.com/policies/contact-information, use_selenium=True, proxy=False, force_new_driver=False
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:1027] - get_content - 檢測到短網址: https://gululuart.com/policies/contact-information
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:120 秒
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://gululuart.com/policies/contact-information 的第 1/3 次請求
2025-10-14 15:32:00 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13535b5f90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/554451e970d8abe507dd5a570bed2567
2025-10-14 15:32:00 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1353745b10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/554451e970d8abe507dd5a570bed2567
2025-10-14 15:32:00 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1353744150>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/554451e970d8abe507dd5a570bed2567
2025-10-14 15:32:00 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-14 15:32:00 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-14 15:32:00 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-14 15:32:00 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-14 15:32:00 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:32:00 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-14 15:32:00 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-14 15:32:00 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:32:01 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:32:01 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-14 15:32:01 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x6196d86a24e3 <unknown>
#1 0x6196d83d1c76 <unknown>
#2 0x6196d83fad78 <unknown>
#3 0x6196d83f7029 <unknown>
#4 0x6196d8435ccc <unknown>
#5 0x6196d843547f <unknown>
#6 0x6196d842cde3 <unknown>
#7 0x6196d84022dd <unknown>
#8 0x6196d840334e <unknown>
#9 0x6196d86623e4 <unknown>
#10 0x6196d86663d7 <unknown>
#11 0x6196d8670b20 <unknown>
#12 0x6196d8667023 <unknown>
#13 0x6196d86351aa <unknown>
#14 0x6196d868b6b8 <unknown>
#15 0x6196d868b847 <unknown>
#16 0x6196d869b243 <unknown>
#17 0x73eeacc94ac3 <unknown>
2025-10-14 15:32:01 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-14 15:32:01 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-14 15:32:01 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-14 15:32:01 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://gululuart.com/policies/contact-information
2025-10-14 15:32:02 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://gululuart.com/policies/contact-information
2025-10-14 15:32:03 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-14 15:32:03 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-14 15:32:03 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-14 15:32:03 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://gululuart.com/policies/contact-information
2025-10-14 15:32:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 4/10
2025-10-14 15:32:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:32:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:32:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:32:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:32:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:32:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:32:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:32:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:32:05 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax
2025-10-14 15:32:05 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-14 15:32:05 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-14 15:32:05 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-14 15:32:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:32:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:32:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:32:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:32:09 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 92
2025-10-14 15:32:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:32:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:32:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:32:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:32:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:32:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:32:11 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 92,內容可能已加載完成
2025-10-14 15:32:11 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-14 15:32:11 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失
2025-10-14 15:32:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:32:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-10-14 15:32:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 4/10
2025-10-14 15:32:23 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 4/10
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://gululuart.com/policies/contact-information (實際 URL: https://gululuart.com/policies/contact-information)
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 94599 字節
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 332 字節
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 273 字節
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 332 字節,約 42 個詞,12 行
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 聯絡資訊
🎈聯絡我們
有任何問題都歡迎來信。
Email:happygululu@gmail.com
客服時間:週一至週五 10:00 - 18:00 (GMT+8)
Email: happygululu@gmail.com
Service Hours: Monday - Friday, 10:00 AM - 6:00 PM (GMT+8)
有任何問題都歡迎來信。
Email:happygululu@gmail.com
客服時間:週一至週五 10:00 - 18:00 (GMT+8)
Email: happygululu@gmail.com
Service Hours: Monday - Friday, 10:00 AM - 6:00 PM (GMT+8)
2025-10-14 15:32:26 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=75):已完成 5/10 個網址
2025-10-14 15:32:26 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://gululuart.com/policies/shipping-policy
2025-10-14 15:32:26 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://gululuart.com/policies/shipping-policy, use_selenium=True, proxy=False, force_new_driver=False
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:1027] - get_content - 檢測到短網址: https://gululuart.com/policies/shipping-policy
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:120 秒
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://gululuart.com/policies/shipping-policy 的第 1/3 次請求
2025-10-14 15:32:26 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1353744490>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b04aa715d3cdd0792033a3974cad10ab
2025-10-14 15:32:26 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e135345e9d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b04aa715d3cdd0792033a3974cad10ab
2025-10-14 15:32:26 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e135345fd10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/b04aa715d3cdd0792033a3974cad10ab
2025-10-14 15:32:26 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-14 15:32:26 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-14 15:32:26 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-14 15:32:26 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-14 15:32:26 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:32:26 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-14 15:32:26 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-14 15:32:27 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:32:27 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:32:27 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-14 15:32:27 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x5a73222d34e3 <unknown>
#1 0x5a7322002c76 <unknown>
#2 0x5a732202bd78 <unknown>
#3 0x5a7322028029 <unknown>
#4 0x5a7322066ccc <unknown>
#5 0x5a732206647f <unknown>
#6 0x5a732205dde3 <unknown>
#7 0x5a73220332dd <unknown>
#8 0x5a732203434e <unknown>
#9 0x5a73222933e4 <unknown>
#10 0x5a73222973d7 <unknown>
#11 0x5a73222a1b20 <unknown>
#12 0x5a7322298023 <unknown>
#13 0x5a73222661aa <unknown>
#14 0x5a73222bc6b8 <unknown>
#15 0x5a73222bc847 <unknown>
#16 0x5a73222cc243 <unknown>
#17 0x7b0327e94ac3 <unknown>
2025-10-14 15:32:27 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-14 15:32:27 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-14 15:32:28 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-14 15:32:28 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://gululuart.com/policies/shipping-policy
2025-10-14 15:32:29 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://gululuart.com/policies/shipping-policy
2025-10-14 15:32:29 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-14 15:32:29 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-14 15:32:29 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-14 15:32:29 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://gululuart.com/policies/shipping-policy
2025-10-14 15:32:31 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax
2025-10-14 15:32:31 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-14 15:32:31 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-14 15:32:31 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-14 15:32:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 5/10
2025-10-14 15:32:35 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 114
2025-10-14 15:32:37 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 114,內容可能已加載完成
2025-10-14 15:32:37 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-14 15:32:37 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失
2025-10-14 15:32:43 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 5/10
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://gululuart.com/policies/shipping-policy (實際 URL: https://gululuart.com/policies/shipping-policy)
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 95463 字節
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 602 字節
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 704 字節
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 604 字節
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 117 字節
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息)
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 833 字節,約 96 個詞,50 行
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至內容
🚚 台灣地區滿 NT$1,800 免運!
登入
Instagram
YouTube
登入
購物車
商品已加入購物車
檢視購物車
繼續購物
運送政策
這裡是創作者古露露親自經營的小小插圖品牌,
每一件商品都包含了插圖與滿滿的心意。
請依照商品類型,參考以下運送說明。謝謝你的支持與耐心。
運費國際快遞
NT$229
全館消費滿 NT$1,800,即
享免運優惠!
Printify 商品運送至台灣需時多久?
商品由 Printify 合作廠商
按需印製並從國外出貨
,運送至台灣的時間會因印製時間、物流方式與海關檢驗而有所不同。請參考以下預估時程:
因為商品是下單後才製作,所以需要一些時間。製作約 2–7 個工作天,加上國際運送 10–30 個工作天,
總共約 12–37 個工作天
。謝謝你的耐心等待!
(實際送達時間會依供應商與物流情況而異)
關於商品運送:
我們的產品可能由不同專業的供應商夥伴直接印製與配送。因此,訂單可能會被拆分為數個包裹寄送,送達時間也會略有不同。
台灣買家請務必完成 EZ Way 實名認證
依據台灣海關規定,
所有從海外寄送到台灣的包裹皆需進行實名認證與報關授權
。
請您於下單後,使用「EZ Way 易利委 App」完成以下步驟:
安裝 EZ Way App(可於 App Store / Google Play 下載)
完成手機號碼認證與身分資料綁定
等待商品報關時,於 App 中授權報關
⏰
未完成實名認證或授權,包裹將無法通關,可能被退回或延遲配送。
小提醒
EZ Way 是台灣官方報關工具,非我方提供
選擇項目後,整個頁面將重新整理。
在新視窗中開啟。
額外的結構化內容:
• 安裝 EZ Way App(可於 App Store / Google Play 下載)
• 完成手機號碼認證與身分資料綁定
• 等待商品報關時,於 App 中授權報關
• 選擇項目後,整個頁面將重新整理。
• 在新視窗中開啟。
2025-10-14 15:32:52 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=75):已完成 6/10 個網址
2025-10-14 15:32:52 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://gululuart.com/policies/refund-policy
2025-10-14 15:32:52 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://gululuart.com/policies/refund-policy, use_selenium=True, proxy=False, force_new_driver=False
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:1027] - get_content - 檢測到短網址: https://gululuart.com/policies/refund-policy
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:120 秒
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://gululuart.com/policies/refund-policy 的第 1/3 次請求
2025-10-14 15:32:52 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e135290b390>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4fd7c5b50845bb15a8613f1503b2745c
2025-10-14 15:32:52 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1352922810>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4fd7c5b50845bb15a8613f1503b2745c
2025-10-14 15:32:52 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1352920c10>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/4fd7c5b50845bb15a8613f1503b2745c
2025-10-14 15:32:52 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-14 15:32:52 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-14 15:32:52 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-14 15:32:52 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-14 15:32:52 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:32:53 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-14 15:32:53 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-14 15:32:53 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:32:53 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:32:53 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 6/10
2025-10-14 15:32:53 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-14 15:32:53 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x5a9183abf4e3 <unknown>
#1 0x5a91837eec76 <unknown>
#2 0x5a9183817d78 <unknown>
#3 0x5a9183814029 <unknown>
#4 0x5a9183852ccc <unknown>
#5 0x5a918385247f <unknown>
#6 0x5a9183849de3 <unknown>
#7 0x5a918381f2dd <unknown>
#8 0x5a918382034e <unknown>
#9 0x5a9183a7f3e4 <unknown>
#10 0x5a9183a833d7 <unknown>
#11 0x5a9183a8db20 <unknown>
#12 0x5a9183a84023 <unknown>
#13 0x5a9183a521aa <unknown>
#14 0x5a9183aa86b8 <unknown>
#15 0x5a9183aa8847 <unknown>
#16 0x5a9183ab8243 <unknown>
#17 0x7c1b4f894ac3 <unknown>
2025-10-14 15:32:53 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-14 15:32:53 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-14 15:32:54 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-14 15:32:54 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://gululuart.com/policies/refund-policy
2025-10-14 15:32:55 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://gululuart.com/policies/refund-policy
2025-10-14 15:32:55 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-14 15:32:55 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-14 15:32:55 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-14 15:32:55 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://gululuart.com/policies/refund-policy
2025-10-14 15:32:57 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax
2025-10-14 15:32:57 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-14 15:32:57 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-14 15:32:57 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-14 15:33:01 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 104
2025-10-14 15:33:03 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 104,內容可能已加載完成
2025-10-14 15:33:03 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-14 15:33:03 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失
2025-10-14 15:33:03 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 6/10
2025-10-14 15:33:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:33:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:33:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:33:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:33:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:33:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:33:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:33:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:33:13 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 6/10
2025-10-14 15:33:18 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://gululuart.com/policies/refund-policy (實際 URL: https://gululuart.com/policies/refund-policy)
2025-10-14 15:33:18 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-14 15:33:18 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-14 15:33:18 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例
2025-10-14 15:33:18 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 95021 字節
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 453 字節
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 553 字節
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 453 字節
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 453 字節,約 22 個詞,17 行
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 退款政策
這裡是古露露親自營運的小小插圖品牌,
每件商品都融合了插畫、故事與心意。
因應不同商品的製作與配送方式,
我們針對不同商品類型訂定了專屬的退換貨與退款政策。
請在購買前詳細閱讀,謝謝你的理解與支持。
🎈我們的實體商品由「Printify 合作廠商」按需印製與出貨。
由於每件商品皆為客製化印製,恕不接受以下原因申請退貨或退款:
「尺寸不合、色差問題、個人喜好或臨時改變主意」
如果真的遇到了這種情況,雖然我們無法為你退貨,但為了表達我們的心意,我們非常樂意提供你一組 專屬折扣碼(一次性使用),讓你在下次購物時使用,期望能帶給你更好的體驗。
若商品符合以下情況,我們將協助你申請補寄或退款(不用退貨):
商品破損或有明顯瑕疵、商品與訂單內容不符(如印錯圖案、寄錯商品)、請於收到商品後請馬上主動聯繫並提供清晰照片與訂單資訊
請來信至:happygululu@gmail.com
請附上以下資料:
- 訂單編號
- 瑕疵或錯誤商品的「清楚照片2-3張,或一個簡短的影片」
- 問題描述(可簡述情況)
2025-10-14 15:33:19 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=75):已完成 7/10 個網址
2025-10-14 15:33:19 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://gululuart.com/pages/%E9%97%9C%E6%96%BC%E6%88%91%E5%80%91
2025-10-14 15:33:19 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://gululuart.com/pages/%E9%97%9C%E6%96%BC%E6%88%91%E5%80%91, use_selenium=True, proxy=False, force_new_driver=False
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:1027] - get_content - 檢測到短網址: https://gululuart.com/pages/%E9%97%9C%E6%96%BC%E6%88%91%E5%80%91
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:120 秒
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://gululuart.com/pages/%E9%97%9C%E6%96%BC%E6%88%91%E5%80%91 的第 1/3 次請求
2025-10-14 15:33:19 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13535a3390>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/45038a862306b6807a2cb300358f90f7
2025-10-14 15:33:19 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13538fb8d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/45038a862306b6807a2cb300358f90f7
2025-10-14 15:33:19 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13538faf90>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/45038a862306b6807a2cb300358f90f7
2025-10-14 15:33:19 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-14 15:33:19 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-14 15:33:19 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-14 15:33:19 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-14 15:33:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:33:19 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-14 15:33:19 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-14 15:33:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:33:19 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:33:20 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-14 15:33:20 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x5eb807d464e3 <unknown>
#1 0x5eb807a75c76 <unknown>
#2 0x5eb807a9ed78 <unknown>
#3 0x5eb807a9b029 <unknown>
#4 0x5eb807ad9ccc <unknown>
#5 0x5eb807ad947f <unknown>
#6 0x5eb807ad0de3 <unknown>
#7 0x5eb807aa62dd <unknown>
#8 0x5eb807aa734e <unknown>
#9 0x5eb807d063e4 <unknown>
#10 0x5eb807d0a3d7 <unknown>
#11 0x5eb807d14b20 <unknown>
#12 0x5eb807d0b023 <unknown>
#13 0x5eb807cd91aa <unknown>
#14 0x5eb807d2f6b8 <unknown>
#15 0x5eb807d2f847 <unknown>
#16 0x5eb807d3f243 <unknown>
#17 0x7039f8694ac3 <unknown>
2025-10-14 15:33:20 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-14 15:33:20 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-14 15:33:20 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-14 15:33:20 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://gululuart.com/pages/%E9%97%9C%E6%96%BC%E6%88%91%E5%80%91
2025-10-14 15:33:21 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://gululuart.com/pages/%E9%97%9C%E6%96%BC%E6%88%91%E5%80%91
2025-10-14 15:33:21 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-14 15:33:21 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-14 15:33:21 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-14 15:33:21 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://gululuart.com/pages/%E9%97%9C%E6%96%BC%E6%88%91%E5%80%91
2025-10-14 15:33:23 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax
2025-10-14 15:33:23 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-14 15:33:23 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-14 15:33:23 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-14 15:33:23 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 7/10
2025-10-14 15:33:27 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 103
2025-10-14 15:33:29 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 103,內容可能已加載完成
2025-10-14 15:33:29 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-14 15:33:29 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失
2025-10-14 15:33:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:33:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:33:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:33:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:33:33 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 7/10
2025-10-14 15:33:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 7/10
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://gululuart.com/pages/%E9%97%9C%E6%96%BC%E6%88%91%E5%80%91 (實際 URL: https://gululuart.com/pages/%E9%97%9C%E6%96%BC%E6%88%91%E5%80%91)
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 97373 字節
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 484 字節
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 580 字節
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 480 字節
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 182 字節
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息)
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 774 字節,約 65 個詞,53 行
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至內容
🚚 台灣地區滿 NT$1,800 免運!
登入
Instagram
YouTube
登入
購物車
商品已加入購物車
檢視購物車
繼續購物
關於我們
你有想過嗎?在我們身體裡,其實住著一群小象工人 🐘
他們在「小象工廠」裡忙著把食物變成一顆顆營養泡泡糖,守護我們的健康。
這個想法源自我的蔬食生活。
因為喜歡畫圖,
我開始畫插圖和小漫畫,希望用可愛的方式,讓健康飲食變得更輕鬆有趣。
一開始畫的是各種角色和小故事,直到「小象工廠」這個世界慢慢成形,小象 Iru 和橘貓才成為主角,陪我一起把這些故事分享給大家。
我是
古露露 Gululu
。現在,這些小象們也走進了商品裡,希望能成為你日常生活中的溫暖陪伴。
小象Iru
個性:呆萌、善良、善於觀察和思考、有同理心、關心同伴和主人
喜歡捏自己肥嘟嘟的肚肚,吃飽後肚子會蓬蓬的
喜歡寫日記,習慣把心情寫下來
負責營養素泡泡糖的分類和運送
橘貓廠長
個性:
看起來在偷懶但實際上在觀察全局、平易近人但有威信、善於適時指導
工作:負責協調各部門工作、監督工廠整體運作
配角小象們
Momo
:活潑有活力、熱心、支持性強
Koko
:
喜歡研究營養知識,對蔬菜特別有感情
Nana
:專業技術型、可靠、成長快速
Pico
:年輕熱血型、勇於提出想法、充滿活力
選擇項目後,整個頁面將重新整理。
在新視窗中開啟。
額外的結構化內容:
• 個性:呆萌、善良、善於觀察和思考、有同理心、關心同伴和主人
• 喜歡捏自己肥嘟嘟的肚肚,吃飽後肚子會蓬蓬的
• 喜歡寫日記,習慣把心情寫下來
• 負責營養素泡泡糖的分類和運送
• 個性:看起來在偷懶但實際上在觀察全局、平易近人但有威信、善於適時指導
• 工作:負責協調各部門工作、監督工廠整體運作
• 選擇項目後,整個頁面將重新整理。
• 在新視窗中開啟。
2025-10-14 15:33:45 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=75):已完成 8/10 個網址
2025-10-14 15:33:45 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://gululuart.com/pages/%E5%B8%B8%E8%A6%8B%E5%95%8F%E9%A1%8C-q-a
2025-10-14 15:33:45 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://gululuart.com/pages/%E5%B8%B8%E8%A6%8B%E5%95%8F%E9%A1%8C-q-a, use_selenium=True, proxy=False, force_new_driver=False
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:1027] - get_content - 檢測到短網址: https://gululuart.com/pages/%E5%B8%B8%E8%A6%8B%E5%95%8F%E9%A1%8C-q-a
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:120 秒
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://gululuart.com/pages/%E5%B8%B8%E8%A6%8B%E5%95%8F%E9%A1%8C-q-a 的第 1/3 次請求
2025-10-14 15:33:45 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1359e2e890>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/189a0e28684c432210941a61585cc232
2025-10-14 15:33:45 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e135370cb50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/189a0e28684c432210941a61585cc232
2025-10-14 15:33:45 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e135370d190>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/189a0e28684c432210941a61585cc232
2025-10-14 15:33:45 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-14 15:33:45 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-14 15:33:45 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-14 15:33:45 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-14 15:33:45 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:33:45 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-14 15:33:45 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-14 15:33:46 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:33:46 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:33:46 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-14 15:33:46 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x630b4b6ad4e3 <unknown>
#1 0x630b4b3dcc76 <unknown>
#2 0x630b4b405d78 <unknown>
#3 0x630b4b402029 <unknown>
#4 0x630b4b440ccc <unknown>
#5 0x630b4b44047f <unknown>
#6 0x630b4b437de3 <unknown>
#7 0x630b4b40d2dd <unknown>
#8 0x630b4b40e34e <unknown>
#9 0x630b4b66d3e4 <unknown>
#10 0x630b4b6713d7 <unknown>
#11 0x630b4b67bb20 <unknown>
#12 0x630b4b672023 <unknown>
#13 0x630b4b6401aa <unknown>
#14 0x630b4b6966b8 <unknown>
#15 0x630b4b696847 <unknown>
#16 0x630b4b6a6243 <unknown>
#17 0x787769694ac3 <unknown>
2025-10-14 15:33:46 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-14 15:33:46 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-14 15:33:47 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-14 15:33:47 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://gululuart.com/pages/%E5%B8%B8%E8%A6%8B%E5%95%8F%E9%A1%8C-q-a
2025-10-14 15:33:48 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://gululuart.com/pages/%E5%B8%B8%E8%A6%8B%E5%95%8F%E9%A1%8C-q-a
2025-10-14 15:33:48 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-14 15:33:48 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-14 15:33:48 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-14 15:33:48 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://gululuart.com/pages/%E5%B8%B8%E8%A6%8B%E5%95%8F%E9%A1%8C-q-a
2025-10-14 15:33:50 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax
2025-10-14 15:33:50 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-14 15:33:50 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-14 15:33:50 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-14 15:33:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 8/10
2025-10-14 15:33:54 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 114
2025-10-14 15:33:56 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 114,內容可能已加載完成
2025-10-14 15:33:56 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-14 15:33:56 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失
2025-10-14 15:34:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 8/10
2025-10-14 15:34:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:34:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:34:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:34:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:34:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:34:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://gululuart.com/pages/%E5%B8%B8%E8%A6%8B%E5%95%8F%E9%A1%8C-q-a (實際 URL: https://gululuart.com/pages/%E5%B8%B8%E8%A6%8B%E5%95%8F%E9%A1%8C-q-a)
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 99005 字節
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 860 字節
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 969 字節
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 869 字節
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=True, 電話=False, 分數=1
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:2152] - extract_text_from_html - 根據聯絡信息分數 1 選擇 trafilatura 作為最佳結果
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 860 字節,約 44 個詞,21 行
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 常見問題 Q&A
【關於訂單與運送】
Q1:下單後,大概多久可以收到商品呢?
A:因為商品是下單後才製作,所以需要一些時間。製作約 2–7 個工作天,加上國際運送 10–30 個工作天,總共約 12–37 個工作天 即可收到。謝謝你的耐心等待!(實際送達時間會依供應商與物流情況而異)
關於商品運送:我們的產品可能由不同專業的供應商夥伴直接印製與配送。因此,訂單可能會被拆分為數個包裹寄送,送達時間也會略有不同。
Q2:為什麼一定要用「EZ Way 易利委」?
A:依台灣海關規定,國際包裹需要使用「EZ Way 易利委 App」完成實名認證,才能順利通關收件。請務必下載並綁定手機,這是確保您能順利收到商品的重要步驟。
Q3:運費是如何計算的呢?
A:寄送到台灣的標準運費均一價 NT$229。單筆消費滿 NT$1,800 即享免運優惠!
Q4:我可以指定超商取貨嗎?
A:很抱歉,目前暫時無法提供超商取貨,僅能配送到府。
【關於商品與退換貨】
Q5:如果收到的商品有瑕疵或寄錯了怎麼辦?
A:請放心,你不需要退回商品!只要在收到後,來信至客服信箱 happygululu@gmail.com ,並附上「訂單編號」和「瑕疵處的清楚照片」,我們會盡快為您處理補寄或退款。
Q6:如果尺寸買錯了,或是收到後覺得不喜歡,可以退貨嗎?
A:因為每件商品都是下單後才專屬印製的「客製化商品」,所以除非商品本身有瑕疵,我們無法因尺寸或個人喜好而退換貨。但如果你對商品真的感到不滿意,請來信告訴我們,我們會提供 一次性的優惠(僅限使用一次),讓你在下次選購時能有更好的體驗。
Q7:未來還會有新的系列嗎?
A:我們會持續規劃新的系列,如果有訂閱電子報或追蹤社群,就有機會第一時間收到通知喔~
【關於創作者與品牌】
Q8:Gululu 和 Iru 是什麼關係?
A:「古露露 Gululu」是創作者的暱稱,「Iru」是小象工廠故事中的主角小象——有著圓滾滾的小肚肚,看起來特別呆萌可愛。更多關於品牌的介紹,可以在「關於我們」頁面看到!
2025-10-14 15:34:11 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=75):已完成 9/10 個網址
2025-10-14 15:34:11 - INFO - main - [url_processor.py:190] - process_url - 處理子頁面: https://gululuart.com/
2025-10-14 15:34:11 - INFO - main - [url_processor.py:198] - process_url - 嘗試獲取子頁面內容 (嘗試 1/2, force_new_driver=False)
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:1004] - get_content - 正在獲取網頁內容: https://gululuart.com/, use_selenium=True, proxy=False, force_new_driver=False
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:1027] - get_content - 檢測到短網址: https://gululuart.com/
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:1035] - get_content - 設置頁面加載超時:120 秒
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:1053] - get_content - 嘗試獲取 https://gululuart.com/ 的第 1/3 次請求
2025-10-14 15:34:11 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13538f9b50>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5c5a1bfb367c296dfc9dd7b2df8207aa
2025-10-14 15:34:11 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e13536038d0>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5c5a1bfb367c296dfc9dd7b2df8207aa
2025-10-14 15:34:11 - WARNING - urllib3.connectionpool - [connectionpool.py:868] - urlopen - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7e1353602450>: Failed to establish a new connection: [Errno 111] Connection refused')': /session/5c5a1bfb367c296dfc9dd7b2df8207aa
2025-10-14 15:34:11 - ERROR - WebScraper - [scraper.py:1082] - get_content - 通過實例池管理器創建WebDriver失敗: cannot create weak reference to 'NoneType' object
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:857] - _create_driver_internal - 正在創建 WebDriver 實例...
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:861] - _create_driver_internal - 嘗試方法1:使用智能路徑發現機制
2025-10-14 15:34:11 - ERROR - WebScraper - [scraper.py:878] - _create_driver_internal - 智能路徑搜索失敗: 'WebScraper' object has no attribute 'smart_find_chrome_paths'
2025-10-14 15:34:11 - INFO - WebScraper - [scraper.py:882] - _create_driver_internal - 嘗試方法2:使用 webdriver-manager 自動管理
2025-10-14 15:34:11 - INFO - WDM - [logger.py:11] - log - ====== WebDriver manager ======
2025-10-14 15:34:12 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:34:12 - INFO - WDM - [logger.py:11] - log - About to download new driver from https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
2025-10-14 15:34:12 - INFO - WDM - [logger.py:11] - log - Driver downloading response is 200
2025-10-14 15:34:12 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:34:12 - INFO - WDM - [logger.py:11] - log - Get LATEST chromedriver version for google-chrome
2025-10-14 15:34:12 - INFO - WDM - [logger.py:11] - log - Driver has been saved in cache [/opt/urlanalyze/.wdm/drivers/chromedriver/linux64/114.0.5735.90]
2025-10-14 15:34:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:34:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:34:12 - ERROR - WebScraper - [scraper.py:893] - _create_driver_internal - webdriver-manager 方法失敗: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x63f700a3e4e3 <unknown>
#1 0x63f70076dc76 <unknown>
#2 0x63f700796d78 <unknown>
#3 0x63f700793029 <unknown>
#4 0x63f7007d1ccc <unknown>
#5 0x63f7007d147f <unknown>
#6 0x63f7007c8de3 <unknown>
#7 0x63f70079e2dd <unknown>
#8 0x63f70079f34e <unknown>
#9 0x63f7009fe3e4 <unknown>
#10 0x63f700a023d7 <unknown>
#11 0x63f700a0cb20 <unknown>
#12 0x63f700a03023 <unknown>
#13 0x63f7009d11aa <unknown>
#14 0x63f700a276b8 <unknown>
#15 0x63f700a27847 <unknown>
#16 0x63f700a37243 <unknown>
#17 0x7f9262094ac3 <unknown>
2025-10-14 15:34:12 - INFO - WebScraper - [scraper.py:897] - _create_driver_internal - 嘗試方法3:使用系統 PATH 中的 chromedriver
2025-10-14 15:34:12 - INFO - WebScraper - [scraper.py:916] - _create_driver_internal - 找到 chromedriver: /usr/local/bin/chromedriver
2025-10-14 15:34:13 - INFO - WebScraper - [scraper.py:920] - _create_driver_internal - 使用系統 chromedriver 成功創建 WebDriver
2025-10-14 15:34:13 - INFO - WebScraper - [scraper.py:1099] - get_content - 使用 Selenium 訪問 URL: https://gululuart.com/
2025-10-14 15:34:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 9/10
2025-10-14 15:34:14 - INFO - WebScraper - [scraper.py:1158] - get_content - 等待頁面基本加載完成: https://gululuart.com/
2025-10-14 15:34:14 - INFO - WebScraper - [scraper.py:1165] - get_content - 頁面body元素已加載
2025-10-14 15:34:14 - INFO - WebScraper - [scraper.py:1178] - get_content - 頁面加載狀態: complete
2025-10-14 15:34:14 - INFO - WebScraper - [scraper.py:1195] - get_content - 找到主要內容元素: main
2025-10-14 15:34:14 - INFO - WebScraper - [scraper.py:1206] - get_content - 頁面基本加載完成: https://gululuart.com/
2025-10-14 15:34:16 - INFO - WebScraper - [scraper.py:1216] - get_content - 檢測到頁面類型: ajax
2025-10-14 15:34:16 - INFO - WebScraper - [scraper.py:1224] - get_content - 檢測到AJAX內容,等待AJAX請求完成
2025-10-14 15:34:16 - INFO - WebScraper - [scraper.py:1777] - _wait_for_ajax_completion - jQuery AJAX 請求已完成
2025-10-14 15:34:16 - INFO - WebScraper - [scraper.py:1788] - _wait_for_ajax_completion - XHR 請求已完成
2025-10-14 15:34:20 - INFO - WebScraper - [scraper.py:1238] - get_content - 初始可見元素數量: 209
2025-10-14 15:34:22 - INFO - WebScraper - [scraper.py:1248] - get_content - 元素數量穩定: 209,內容可能已加載完成
2025-10-14 15:34:22 - INFO - WebScraper - [scraper.py:1255] - get_content - 等待可能的動態內容...
2025-10-14 15:34:22 - INFO - WebScraper - [scraper.py:1270] - get_content - 發現加載指示器: //div[contains(@class, 'loading')],等待其消失
2025-10-14 15:34:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 9/10
2025-10-14 15:34:34 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 9/10
2025-10-14 15:34:37 - INFO - WebScraper - [scraper.py:1321] - get_content - 成功獲取 URL 內容: https://gululuart.com/ (實際 URL: https://gululuart.com/)
2025-10-14 15:34:37 - INFO - WebScraper - [scraper.py:1519] - get_content - 清理在 get_content 方法中創建的 WebDriver 實例
2025-10-14 15:34:37 - INFO - WebScraper - [scraper.py:105] - driver - 在設置新WebDriver前關閉舊實例
2025-10-14 15:34:37 - INFO - WebScraper - [scraper.py:249] - close_driver - 線程 138621577471104: 關閉 WebDriver 實例
2025-10-14 15:34:37 - INFO - WebScraper - [scraper.py:277] - close_driver - WebDriver 已成功關閉
2025-10-14 15:34:38 - INFO - WebScraper - [scraper.py:307] - close_driver - 已執行 Python 垃圾回收
2025-10-14 15:34:38 - INFO - WebScraper - [scraper.py:1526] - get_content - WebDriver 實例已成功返回到池中
2025-10-14 15:34:38 - INFO - WebScraper - [scraper.py:1931] - extract_text_from_html - 開始從HTML中提取文本,HTML長度: 191248 字節
2025-10-14 15:34:38 - INFO - WebScraper - [scraper.py:1943] - extract_text_from_html - 使用 trafilatura 成功提取文本,長度: 4399 字節
2025-10-14 15:34:38 - INFO - WebScraper - [scraper.py:1968] - extract_text_from_html - 使用 BeautifulSoup 基本提取成功,長度: 5483 字節
2025-10-14 15:34:38 - INFO - WebScraper - [scraper.py:2017] - extract_text_from_html - 使用 BeautifulSoup 針對性提取成功,長度: 5383 字節
2025-10-14 15:34:38 - INFO - WebScraper - [scraper.py:2114] - extract_text_from_html - 成功提取結構化數據,長度: 1438 字節
2025-10-14 15:34:38 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 trafilatura 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:34:38 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_basic 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:34:38 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 beautifulsoup_targeted 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:34:38 - INFO - WebScraper - [scraper.py:2141] - extract_text_from_html - 提取源 structured_data 聯絡信息檢查: 電子郵件=False, 電話=False, 分數=0
2025-10-14 15:34:38 - INFO - WebScraper - [scraper.py:2157] - extract_text_from_html - 選擇 BeautifulSoup 基本提取作為最佳結果(無聯絡信息)
2025-10-14 15:34:38 - INFO - WebScraper - [scraper.py:2177] - extract_text_from_html - 已成功提取文本,總長度: 6933 字節,約 457 個詞,476 行
2025-10-14 15:34:38 - INFO - WebScraper - [scraper.py:2178] - extract_text_from_html - 提取的最終文本內容: 跳至內容
🚚 台灣地區滿 NT$1,800 免運!
登入
Instagram
YouTube
登入
購物車
商品已加入購物車
檢視購物車
繼續購物
每日可愛能量・生產中!
全部商品
來自小象工廠的驚喜包裹!
小象的泡泡糖工作站|純棉短袖 T恤|日常穿搭
小象的泡泡糖工作站|純棉短袖 T恤|日常穿搭
定價
$880.00 TWD
定價
售價
$880.00 TWD
服飾配件
服飾配件
精選好物
Iru 的加油打氣馬克杯 (可愛/送禮)|來自小象工廠的溫暖直送
Iru 的加油打氣馬克杯 (可愛/送禮)|來自小象工廠的溫暖直送
定價
從 $380.00 TWD 起
定價
售價
從 $380.00 TWD 起
吊帶褲小象防水貼紙
吊帶褲小象防水貼紙
定價
$120.00 TWD
定價
售價
$120.00 TWD
呆萌小象防水貼紙
呆萌小象防水貼紙
定價
$90.00 TWD
定價
售價
$90.00 TWD
小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 星空黑
小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 星空黑
定價
$990.00 TWD
定價
售價
$990.00 TWD
小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 燕麥牛奶
小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 燕麥牛奶
定價
$990.00 TWD
定價
售價
$990.00 TWD
小象日常隨行袋|100%純棉帆布托特包|輕鬆收納好生活
小象日常隨行袋|100%純棉帆布托特包|輕鬆收納好生活
定價
$580.00 TWD
定價
售價
$580.00 TWD
小象的泡泡糖工作站|純棉短袖 T恤|日常穿搭
小象的泡泡糖工作站|純棉短袖 T恤|日常穿搭
定價
$880.00 TWD
定價
售價
$880.00 TWD
小象能量保溫瓶|可愛古露露插圖不鏽鋼水壺
小象能量保溫瓶|可愛古露露插圖不鏽鋼水壺
定價
從 $1,090.00 TWD 起
定價
售價
從 $1,090.00 TWD 起
來自工廠的直送畫面...
小象工廠日誌
這是一群努力的小象,在你我身體裡那座奇妙的工廠中,展開他們的努力與冒險。我們的小說連載,將帶你深入他們的故事...
點我看故事
小象 Iru 的健康筆記
7 Videos
Subscribe
0:04:04
想靠少吃瘦身 卻常常沒成功?關鍵可能不在意志力
09/05/2025
總是陷入「白天吃很少、晚上卻失控」的無限循環嗎?
這不是你沒毅力,而是身體發出的重要求救訊號喔~
部分內容參考自《蔬食營養聖經》(Brenda Davis & Vesanto Melina 著),本影片內容僅供知識參考,非專業醫療或營養建議,請依個人狀況諮詢專業人士。
----------------------------------------------------
💡 影片補充小知識
情緒性飲食的覺察
這種因為壓力或孤單感而想吃東西的行為,其實就是常見的「情緒性飲食」喔。
飽足感的差異
像是豆類、堅果等原型食物富含膳食纖維與好的蛋白質,能提供更持久的穩定飽足感。
營養密度vs空熱量
選擇富含營養素的原型食物能讓身體真正滿足,而加工零食則較容易帶來身體負擔。
正念飲食
試著放慢速度專心品嚐,並在感覺舒服的時候就停下來,這就是傾聽身體的開始。
身體訊號的傾聽
例如有時候身體發出的飢餓感,其實可能只是口渴的訊號,可以試著先喝杯水等待一下。
多樣化營養
透過聰明搭配蔬菜、豆類、全穀類與好油脂,我們能更輕鬆地滿足身體全面的營養需求。
----------------------------------------------------
|橘貓的每日特餐|
https://www.youtube.com/playlist?list=PL2xaindKE8n8vqZLv3t41q17U-jDnM9Fr
https://www.youtube.com/playlist?list=PL2xaindKE8n8j7dL37NMac8-zMBiyH_2f
|健康小筆記|
https://youtube.com/playlist?list=PL2xaindKE8n8dOQlGrSpQEEM-rkk2XLjU&si=H9e52JOhuW8eN468
#減肥
#情緒性飲食
145 Views
7 Likes
1 Comments
0:03:22
便便市民的遊樂園大塞車|膳食纖維不足 便秘日常
07/28/2025
關於便秘與膳食纖維的小影片。
部分內容參考自《蔬食營養聖經》(Brenda Davis & Vesanto Melina 著),本影片內容僅供知識參考,非專業醫療或營養建議,請依個人狀況諮詢專業人士。
本集重點
00:00 大腸市主題樂園開幕
00:22 救命啊!遊樂園大塞車
01:32 纖維神隊友,集合
|橘貓的每日特餐|
https://www.youtube.com/playlist?list=PL2xaindKE8n8vqZLv3t41q17U-jDnM9Fr
https://www.youtube.com/playlist?list=PL2xaindKE8n8j7dL37NMac8-zMBiyH_2f
|健康小筆記|
https://youtube.com/playlist?list=PL2xaindKE8n8dOQlGrSpQEEM-rkk2XLjU&si=H9e52JOhuW8eN468
#便秘
#膳食纖維
111 Views
11 Likes
5 Comments
0:02:35
身為資深乾眼人,這些是我的心得和小筆記|別讓眼睛再乾澀、疲勞了
07/18/2025
你是不是也常覺得眼睛又乾又酸呢?
讓眼睛好好放鬆,真的很重要~👀✨
我發現只要用眼時間一拉長,接下來幾天眼睛就會特別容易酸。
熱敷一下會舒服很多,醫生也建議,用眼一小時就要休息一次。
我平常會用番茄鐘,但有時候一埋頭工作,就會略過休息時間…
你也有這樣的經驗嗎?
本影片內容僅供知識參考,非專業醫療或營養建議,請依個人狀況諮詢專業人士。
|橘貓的每日特餐|
https://www.youtube.com/playlist?list=PL2xaindKE8n8vqZLv3t41q17U-jDnM9Fr
https://www.youtube.com/playlist?list=PL2xaindKE8n8j7dL37NMac8-zMBiyH_2f
|健康小筆記|
https://youtube.com/playlist?list=PL2xaindKE8n8dOQlGrSpQEEM-rkk2XLjU&si=H9e52JOhuW8eN468
#乾眼
#眼睛乾澀
208 Views
9 Likes
1 Comments
0:02:06
吃豆類一定會脹氣?豆類這樣吃,蛋白質好吸收又不脹氣
06/23/2025
植物性蛋白質營養豐富,可是擔心吃完肚子容易脹氣嗎😫?
小象工人在忙什麼呢?
一起來潛入蛋白質工廠,看看怎麼處理這問題
影片中提到讓肚子不舒服的「鎧甲」,其中一種主要成分是「寡糖」。寡糖不容易被人體小腸消化,會直接進入大腸,由腸道菌分解,這個過程容易產生氣體。
寡糖是水溶性的,也不耐高溫,所以透過泡水(要記得換水)和充分煮熟,可以減少它的含量,讓豆子吃起來比較不會脹氣。
部分內容參考自《純素時代來臨》(Brenda Davis & Vesanto Melina 著),本影片內容僅供知識參考,非專業醫療或營養建議,請依個人狀況諮詢專業人士。
|橘貓的每日特餐|
https://www.youtube.com/playlist?list=PL2xaindKE8n8vqZLv3t41q17U-jDnM9Fr
https://www.youtube.com/playlist?list=PL2xaindKE8n8j7dL37NMac8-zMBiyH_2f
|健康小筆記|
https://youtube.com/playlist?list=PL2xaindKE8n8dOQlGrSpQEEM-rkk2XLjU&si=H9e52JOhuW8eN468
#豆類脹氣
#如何煮豆子
102 Views
9 Likes
8 Comments
0:04:02
想到煮飯就累?😫 試試一鍋到底,讓你脫離洗碗地獄~
05/10/2025
森林咖啡廳的廚房裡,傳來丁鈴噹啷的聲音... 🍳
原來是正在準備餐點的橘貓,看著一堆鍋子手忙腳亂。
想到煮飯就好累、要洗一堆鍋碗瓢盆就很麻煩?
如果能輕鬆做料理,是不是就有動力自己煮了~
「機器人糊糊」從資料庫找出了「一鍋到底」的料理方法,非常適合新手,不只省時省力,還有很多意想不到的好處哦!一起讓烹飪變得輕鬆又美味 🍲✨
00:00 開場
01:04 概念
01:26 效率
01:54 風味
02:12 營養
02:42 規劃
03:39 實驗室
|橘貓的每日特餐|
https://www.youtube.com/playlist?list=PL2xaindKE8n8vqZLv3t41q17U-jDnM9Fr
https://www.youtube.com/playlist?list=PL2xaindKE8n8j7dL37NMac8-zMBiyH_2f
|音樂集|
https://www.youtube.com/playlist?list=PL2xaindKE8n-Zi4kb_WaVKO4NuyYjcItF
https://www.youtube.com/playlist?list=PL2xaindKE8n8QlzjPXZythmx5Y5MswR8r
|糊糊的健康小筆記|
https://youtube.com/playlist?list=PL2xaindKE8n8dOQlGrSpQEEM-rkk2XLjU&si=H9e52JOhuW8eN468
#料理技巧
#新手料理
428 Views
10 Likes
10 Comments
0:02:55
什麼時候喝水最剛好?糊糊告訴你,這樣喝精神差很多!
05/03/2025
今天森林咖啡廳裡很熱鬧,坐滿了客人。
店裡面的「機器人糊糊」觀察到一個現象,很多客人在點咖啡或茶的時候,也會多要一杯水 🚰
這件我們每天都在做的小事,對身體究竟有哪些幫助呢?(就像幫機器補充能源一樣重要嗎?)
這次的影片,糊糊從森林咖啡廳的日常觀察出發,和你分享為什麼需要好好喝水,以及一些能簡單融入生活的健康喝水習慣跟小方法。我還畫了簡單的喝水時間表,讓我們一起來養成好好喝水的習慣~💪💪💪
❗重要提示
資訊僅供參考,無法取代專業意見。
若有健康、營養或特殊飲食需求,請諮詢專家。
|橘貓的每日特餐|
https://www.youtube.com/playlist?list=PL2xaindKE8n8vqZLv3t41q17U-jDnM9Fr
https://www.youtube.com/playlist?list=PL2xaindKE8n8j7dL37NMac8-zMBiyH_2f
|音樂集|
https://www.youtube.com/playlist?list=PL2xaindKE8n-Zi4kb_WaVKO4NuyYjcItF
https://www.youtube.com/playlist?list=PL2xaindKE8n8QlzjPXZythmx5Y5MswR8r
|糊糊的健康小筆記|
https://youtube.com/playlist?list=PL2xaindKE8n8dOQlGrSpQEEM-rkk2XLjU&si=H9e52JOhuW8eN468
#健康飲水
#生活習慣
447 Views
10 Likes
5 Comments
0:02:17
吃水果為什麼反而更累?3個你沒注意的小陷阱
04/24/2025
🐱🐘 橘貓與小象友情出演,希望用可愛的方式,讓大家輕鬆理解影片內容~
你也有吃完水果後反而想睡、精神不濟的經驗嗎?
為什麼明明是天然的水果,卻會讓身體更疲勞?
這部影片從水果中的糖分、GI值與血糖波動談起,破解你對「健康水果」的迷思。
🛑 特別提醒:肝功能異常者與糖尿病患者在攝取水果時,需更加注意血糖變化與食用方式,建議諮詢專業醫師建議。
|音樂集|
https://www.youtube.com/playlist?list=PL2xaindKE8n-Zi4kb_WaVKO4NuyYjcItF
https://www.youtube.com/playlist?list=PL2xaindKE8n8QlzjPXZythmx5Y5MswR8r
|橘貓的每日特餐|
https://www.youtube.com/playlist?list=PL2xaindKE8n8vqZLv3t41q17U-jDnM9Fr
https://www.youtube.com/playlist?list=PL2xaindKE8n8j7dL37NMac8-zMBiyH_2f
#水果
#健康飲食
72 Views
10 Likes
15 Comments
選擇項目後,整個頁面將重新整理。
在新視窗中開啟。
額外的結構化內容:
• Iru 的加油打氣馬克杯 (可愛/送禮)|來自小象工廠的溫暖直送
Iru 的加油打氣馬克杯 (可愛/送禮)|來自小象工廠的溫暖直送
定價
從 $380.00 TWD 起
定價
售價
從 $380.00 TWD 起
• 吊帶褲小象防水貼紙
吊帶褲小象防水貼紙
定價
$120.00 TWD
定價
售價
$120.00 TWD
• 呆萌小象防水貼紙
呆萌小象防水貼紙
定價
$90.00 TWD
定價
售價
$90.00 TWD
• 小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 星空黑
小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 星空黑
定價
$990.00 TWD
定價
售價
$990.00 TWD
• 小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 燕麥牛奶
小象散步棒球帽|刺繡老帽|陪你度過每個好日子 - 燕麥牛奶
定價
$990.00 TWD
定價
售價
$990.00 TWD
• 小象日常隨行袋|100%純棉帆布托特包|輕鬆收納好生活
小象日常隨行袋|100%純棉帆布托特包|輕鬆收納好生活
定價
$580.00 TWD
定價
售價
$580.00 TWD
• 小象的泡泡糖工作站|純棉短袖 T恤|日常穿搭
小象的泡泡糖工作站|純棉短袖 T恤|日常穿搭
定價
$880.00 TWD
定價
售價
$880.00 TWD
• 小象能量保溫瓶|可愛古露露插圖不鏽鋼水壺
小象能量保溫瓶|可愛古露露插圖不鏽鋼水壺
定價
從 $1,090.00 TWD 起
定價
售價
從 $1,090.00 TWD 起
• 選擇項目後,整個頁面將重新整理。
• 在新視窗中開啟。
2025-10-14 15:34:38 - INFO - main - [url_processor.py:253] - process_url - 更新 UI 審核進度(URL ID=75):已完成 10/10 個網址
2025-10-14 15:34:38 - INFO - main - [url_processor.py:266] - process_url - UI審核: 開始審核主頁面: https://gululuart.com/pages/contact
2025-10-14 15:34:38 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 419 字符
2025-10-14 15:34:38 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:34:44 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:34:54 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:34:55 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:34:55 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 17.476秒
2025-10-14 15:34:55 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 43 字符, 總耗時: 17.527秒
2025-10-14 15:34:55 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容
規則2:無違規內容
規則3:無違規內容
網頁內容審查結論:審核通過...
2025-10-14 15:34:55 - INFO - main - [url_processor.py:305] - process_url - UI審核: 主頁面審核通過: https://gululuart.com/pages/contact
2025-10-14 15:34:55 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 1/9: https://gululuart.com/pages/contact
2025-10-14 15:34:55 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 419 字符
2025-10-14 15:34:55 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:35:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:35:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:35:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:35:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:35:04 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:35:04 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 8.366秒
2025-10-14 15:35:04 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 8.417秒
2025-10-14 15:35:04 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容
規則2:無違規內容
規則3:無違規內容
網頁內容審查結論:審核通過...
2025-10-14 15:35:04 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://gululuart.com/pages/contact
2025-10-14 15:35:04 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 2/9: https://gululuart.com/collections/all
2025-10-14 15:35:04 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1516 字符
2025-10-14 15:35:04 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:35:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:35:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:35:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:35:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:35:04 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:35:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:35:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:35:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:35:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:35:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:35:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:35:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:35:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:35:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:35:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:35:13 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:35:13 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 8.972秒
2025-10-14 15:35:13 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 9.024秒
2025-10-14 15:35:13 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容
規則2:無違規內容
規則3:無違規內容
網頁內容審查結論:審核通過...
2025-10-14 15:35:13 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://gululuart.com/collections/all
2025-10-14 15:35:13 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 3/9: https://gululuart.com/cart
2025-10-14 15:35:13 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 277 字符
2025-10-14 15:35:13 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:35:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:35:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-10-14 15:35:14 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:35:24 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:35:26 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:35:26 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 13.057秒
2025-10-14 15:35:26 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 13.108秒
2025-10-14 15:35:26 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容
規則2:無違規內容
規則3:無違規內容
網頁內容審查結論:審核通過...
2025-10-14 15:35:26 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://gululuart.com/cart
2025-10-14 15:35:26 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 4/9: https://gululuart.com/policies/contact-information
2025-10-14 15:35:26 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 332 字符
2025-10-14 15:35:26 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:35:33 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:35:33 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.368秒
2025-10-14 15:35:33 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 7.418秒
2025-10-14 15:35:33 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容
規則2:無違規內容
規則3:無違規內容
網頁內容審查結論:審核通過...
2025-10-14 15:35:33 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://gululuart.com/policies/contact-information
2025-10-14 15:35:33 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 5/9: https://gululuart.com/policies/shipping-policy
2025-10-14 15:35:33 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 831 字符
2025-10-14 15:35:33 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:35:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:35:45 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:35:51 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:35:51 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 18.162秒
2025-10-14 15:35:51 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 18.213秒
2025-10-14 15:35:51 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容
規則2:無違規內容
規則3:無違規內容
網頁內容審查結論:審核通過...
2025-10-14 15:35:51 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://gululuart.com/policies/shipping-policy
2025-10-14 15:35:51 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 6/9: https://gululuart.com/policies/refund-policy
2025-10-14 15:35:51 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 453 字符
2025-10-14 15:35:52 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:35:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:36:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:36:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:36:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:36:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:36:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:36:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:36:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:36:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:36:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:36:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:36:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:36:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:36:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-14 15:36:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-10-14 15:36:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.10 秒,結果: 0
2025-10-14 15:36:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:36:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-10-14 15:36:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:36:17 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:36:17 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 25.108秒
2025-10-14 15:36:17 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 25.158秒
2025-10-14 15:36:17 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容
規則2:無違規內容
規則3:無違規內容
網頁內容審查結論:審核通過...
2025-10-14 15:36:17 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://gululuart.com/policies/refund-policy
2025-10-14 15:36:17 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 7/9: https://gululuart.com/pages/%E9%97%9C%E6%96%BC%E6%88%91%E5%80%91
2025-10-14 15:36:17 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 771 字符
2025-10-14 15:36:17 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:36:25 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:36:28 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:36:28 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 11.497秒
2025-10-14 15:36:28 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 46 字符, 總耗時: 11.548秒
2025-10-14 15:36:28 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容
規則2:無違規內容
規則3:無違規內容
網頁內容審查結論:審核通過...
2025-10-14 15:36:28 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://gululuart.com/pages/%E9%97%9C%E6%96%BC%E6%88%91%E5%80%91
2025-10-14 15:36:28 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 8/9: https://gululuart.com/pages/%E5%B8%B8%E8%A6%8B%E5%95%8F%E9%A1%8C-q-a
2025-10-14 15:36:28 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 860 字符
2025-10-14 15:36:28 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:36:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:36:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:36:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:36:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:36:35 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:36:45 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:36:55 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:37:05 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:37:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:37:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:37:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:37:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:37:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:37:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:37:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:37:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15: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-10-14 15:37:15 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:37:26 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:37:28 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:37:28 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 59.373秒
2025-10-14 15:37:28 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 59.424秒
2025-10-14 15:37:28 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容
規則2:無違規內容
規則3:無違規內容
網頁內容審查結論:審核通過...
2025-10-14 15:37:28 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://gululuart.com/pages/%E5%B8%B8%E8%A6%8B%E5%95%8F%E9%A1%8C-q-a
2025-10-14 15:37:28 - INFO - main - [url_processor.py:315] - process_url - UI審核: 開始審核子頁面 9/9: https://gululuart.com/
2025-10-14 15:37:28 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 6187 字符
2025-10-14 15:37:28 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:37:36 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:37:46 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:37:55 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:37:55 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 27.338秒
2025-10-14 15:37:55 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 44 字符, 總耗時: 27.389秒
2025-10-14 15:37:55 - INFO - ContentAnalyzer - [analyzer.py:875] - check_rules - Rules check summary: 規則1:無違規內容
規則2:無違規內容
規則3:無違規內容
網頁內容審查結論:審核通過...
2025-10-14 15:37:55 - INFO - main - [url_processor.py:356] - process_url - UI審核: 子頁面審核通過: https://gululuart.com/
2025-10-14 15:37:55 - INFO - main - [url_processor.py:376] - process_url - 開始判斷主頁面購物車功能
2025-10-14 15:37:55 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷
2025-10-14 15:37:55 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 419 字符
2025-10-14 15:37:55 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:37:57 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:37:58 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:37:58 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.819秒
2025-10-14 15:37:58 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.870秒
2025-10-14 15:37:58 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能
2025-10-14 15:37:58 - INFO - main - [url_processor.py:379] - process_url - 主頁面購物車判斷: 無購物車功能
2025-10-14 15:37:58 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 1/9 購物車功能
2025-10-14 15:37:58 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷
2025-10-14 15:37:58 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 419 字符
2025-10-14 15:37:58 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:38:00 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:38:00 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.228秒
2025-10-14 15:38:00 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.279秒
2025-10-14 15:38:00 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能
2025-10-14 15:38:00 - INFO - main - [url_processor.py:390] - process_url - 子頁面 1 購物車判斷: 無購物車功能
2025-10-14 15:38:00 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 2/9 購物車功能
2025-10-14 15:38:00 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷
2025-10-14 15:38:00 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 1516 字符
2025-10-14 15:38:00 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:38:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:38:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:38:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:38:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 1/5, 隊列大小 0, 總處理任務 2, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:38:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:38:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:38:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:38:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:38:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:38:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:38:07 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:38:07 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 6.516秒
2025-10-14 15:38:07 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 6.566秒
2025-10-14 15:38:07 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能
2025-10-14 15:38:07 - INFO - main - [url_processor.py:390] - process_url - 子頁面 2 購物車判斷: 有購物車功能
2025-10-14 15:38:07 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 3/9 購物車功能
2025-10-14 15:38:07 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷
2025-10-14 15:38:07 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 277 字符
2025-10-14 15:38:07 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:38:08 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:38:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:38:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:38:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:38:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:38:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:38:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:38:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:38:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:38:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:38:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:38:14 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:38:14 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 6.986秒
2025-10-14 15:38:14 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 7.037秒
2025-10-14 15:38:14 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能
2025-10-14 15:38:14 - INFO - main - [url_processor.py:390] - process_url - 子頁面 3 購物車判斷: 有購物車功能
2025-10-14 15:38:14 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 4/9 購物車功能
2025-10-14 15:38:14 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷
2025-10-14 15:38:14 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 332 字符
2025-10-14 15:38:14 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:38:16 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:38:16 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 2.136秒
2025-10-14 15:38:16 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 2.187秒
2025-10-14 15:38:16 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能
2025-10-14 15:38:16 - INFO - main - [url_processor.py:390] - process_url - 子頁面 4 購物車判斷: 無購物車功能
2025-10-14 15:38:16 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 5/9 購物車功能
2025-10-14 15:38:16 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷
2025-10-14 15:38:16 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 831 字符
2025-10-14 15:38:16 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:38:19 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:38:21 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:38:21 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 4.976秒
2025-10-14 15:38:21 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 5.026秒
2025-10-14 15:38:21 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能
2025-10-14 15:38:21 - INFO - main - [url_processor.py:390] - process_url - 子頁面 5 購物車判斷: 有購物車功能
2025-10-14 15:38:21 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 6/9 購物車功能
2025-10-14 15:38:21 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷
2025-10-14 15:38:21 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 453 字符
2025-10-14 15:38:21 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:38:24 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:38:24 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.331秒
2025-10-14 15:38:24 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.381秒
2025-10-14 15:38:24 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能
2025-10-14 15:38:24 - INFO - main - [url_processor.py:390] - process_url - 子頁面 6 購物車判斷: 無購物車功能
2025-10-14 15:38:24 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 7/9 購物車功能
2025-10-14 15:38:24 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷
2025-10-14 15:38:24 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 771 字符
2025-10-14 15:38:24 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:38:28 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:38:28 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.757秒
2025-10-14 15:38:28 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.806秒
2025-10-14 15:38:28 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能
2025-10-14 15:38:28 - INFO - main - [url_processor.py:390] - process_url - 子頁面 7 購物車判斷: 有購物車功能
2025-10-14 15:38:28 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 8/9 購物車功能
2025-10-14 15:38:28 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷
2025-10-14 15:38:28 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 860 字符
2025-10-14 15:38:28 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:38:30 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:38:32 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:38:32 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 3.502秒
2025-10-14 15:38:32 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 3.553秒
2025-10-14 15:38:32 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 無購物車功能
2025-10-14 15:38:32 - INFO - main - [url_processor.py:390] - process_url - 子頁面 8 購物車判斷: 無購物車功能
2025-10-14 15:38:32 - INFO - main - [url_processor.py:387] - process_url - 開始判斷子頁面 9/9 購物車功能
2025-10-14 15:38:32 - INFO - ContentAnalyzer - [analyzer.py:930] - check_shopping_cart - 開始購物車功能判斷
2025-10-14 15:38:32 - INFO - ContentAnalyzer - [analyzer.py:949] - get_result_from_AI - 準備使用 AI 分析文本, 文本長度: 6187 字符
2025-10-14 15:38:32 - INFO - ContentAnalyzer - [analyzer.py:999] - get_result_from_AI - 發送請求到 Azure OpenAI, 模型: gpt-5, 溫度: 0.2, 最大標記數: 16384
2025-10-14 15:38:39 - INFO - httpx - [_client.py:1025] - _send_single_request - HTTP Request: POST https://ecpayopenaieus2.openai.azure.com/openai/deployments/gpt-5/chat/completions?api-version=2024-12-01-preview "HTTP/1.1 200 OK"
2025-10-14 15:38:39 - INFO - ContentAnalyzer - [analyzer.py:1023] - get_result_from_AI - 收到 Azure OpenAI 響應, 耗時: 7.371秒
2025-10-14 15:38:39 - INFO - ContentAnalyzer - [analyzer.py:1031] - get_result_from_AI - 成功獲取 AI 分析結果, 響應長度: 6 字符, 總耗時: 7.422秒
2025-10-14 15:38:39 - INFO - ContentAnalyzer - [analyzer.py:932] - check_shopping_cart - 購物車判斷結果: 有購物車功能
2025-10-14 15:38:39 - INFO - main - [url_processor.py:390] - process_url - 子頁面 9 購物車判斷: 有購物車功能
2025-10-14 15:38:39 - INFO - main - [url_processor.py:402] - process_url - 最終購物車判斷結果: 有購物車功能 (檢查了 10 個頁面)
2025-10-14 15:38:39 - INFO - main - [url_processor.py:423] - process_url - 審核通過:10 個頁面通過,0 個頁面被模型拒審(已忽略)
2025-10-14 15:38:39 - INFO - main - [helpers.py:223] - _find_email_in_content - 找到電子郵件 happygululu@gmail.com (完全匹配)
2025-10-14 15:38:39 - INFO - main - [url_processor.py:525] - process_url - URL ID 75 是 UI 提交,使用 URL 記錄中的聯絡資訊進行驗證
2025-10-14 15:38:39 - INFO - main - [helpers.py:223] - _find_email_in_content - 找到電子郵件 happygululu@gmail.com (完全匹配)
2025-10-14 15:38:39 - INFO - main - [url_processor.py:545] - process_url - UI審核(URL ID=75):身份驗證通過
2025-10-14 15:38:39 - INFO - database - [database.py:505] - update_url_status - URL ID 75 状态已更新为 completed
2025-10-14 15:38:39 - INFO - main - [url_processor.py:609] - process_url - URL ID 75 分析完成,結果: pass, API驗證: False
2025-10-14 15:38:39 - INFO - main - [url_processor.py:634] - process_url - 工作線程 #1 完成處理 URL ID: 75
2025-10-14 15:38:41 - INFO - main - [web_routes.py:186] - result - UI 提交 - URL ID 75, UID: q42qv1vdwc, 進度: 10/10
2025-10-14 15:38:41 - ERROR - main - [web_routes.py:200] - result - 显示结果页面失败: No test named '購物車功能:'.
Traceback (most recent call last):
File "/opt/urlanalyze/routes/web_routes.py", line 197, in result
return render_template('result.html', result=result_dict, api_info=api_info, ui_info=ui_info, violations=violations, TAIPEI_TIMEZONE=TAIPEI_TIMEZONE)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/templating.py", line 150, in render_template
return _render(app, template, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/flask/templating.py", line 131, in _render
rv = template.render(context)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/environment.py", line 1295, in render
self.environment.handle_exception()
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/opt/urlanalyze/templates/result.html", line 1, in top-level template code
{% extends "base.html" %}
File "/opt/urlanalyze/templates/base.html", line 59, in top-level template code
{% block content %}{% endblock %}
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/templates/result.html", line 69, in block 'content'
{% set cart_line = result.details.split('\n') | selectattr('contains', '購物車功能:') | list | first %}
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/async_utils.py", line 48, in wrapper
return normal_func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/filters.py", line 1365, in sync_do_list
return list(value)
^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/filters.py", line 1798, in select_or_reject
if func(item):
^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/filters.py", line 1783, in <lambda>
return lambda item: modfunc(func(transfunc(item)))
^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/filters.py", line 1778, in func
return context.environment.call_test(name, item, args, kwargs, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/environment.py", line 594, in call_test
return self._filter_test_common(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/urlanalyze/venv/lib/python3.11/site-packages/jinja2/environment.py", line 526, in _filter_test_common
raise TemplateRuntimeError(msg)
jinja2.exceptions.TemplateRuntimeError: No test named '購物車功能:'.
2025-10-14 15:39:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:39:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:39:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:39:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:39:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:39:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:39:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:39:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:39:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:39:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:39:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:39:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:39:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-14 15:39:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-14 15:39:50 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-14 15:39:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:39:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:39:50 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:39:51 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_urls
2025-10-14 15:39:51 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_urls' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:40:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:40:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:40:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:40:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:40:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:40:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:40:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:40:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:41:01 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:41:01 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:41:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:41:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:41:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:41:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:41:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:41:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:41:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:41:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:41:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:41:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:41:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:41:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:41:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:41:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:41:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:41:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:41:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:41:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:41:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:41:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:41:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:41:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-14 15:41:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-14 15:41:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-14 15:41:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:41:13 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-10-14 15:42:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:42:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:42:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:42:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:42:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:42:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:42:13 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:42:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:42:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:42:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:42:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:42:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:43:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:43:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:43:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:43:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:43:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:43:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:43:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:43:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:44:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:44:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:44:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:44:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:44:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:44:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:44:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:44:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:44:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:44:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:44:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:44:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:44:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:44:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:44:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:44:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:44:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:44:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:44:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:44:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:45:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:45:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:45:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:45:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:45:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:45:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:45:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:45:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:45:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:45:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:45:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:45:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:46:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:46:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:46:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:46:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:46:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:46:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:46:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:46:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:46:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:46:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:46:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:46:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-10-14 15:46:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-10-14 15:46:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.08 秒,結果: 0
2025-10-14 15:46:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:46:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-10-14 15:47:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:47:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:47:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:47:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:47:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:47:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:47:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:47:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:47:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:47:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:47:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:47:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:47:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:47:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:47:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:47:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:47:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:47:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:47:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:47:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:48:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:48:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:48:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:48:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:48:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:48:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:48:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:48:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:48:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:48:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:48:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:48:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:49:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:49:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:49:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:49:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:49:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:49:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:49:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:49:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:50:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:50:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:50:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:50:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:50:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:50:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:50:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:50:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:50:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:50:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:50:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:50:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:50:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:50:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:50:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:50:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:50:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:50:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:50:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:50:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:51:02 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:51:02 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:51:04 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:51:04 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:51:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:51:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:51:08 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:51:08 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:51:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:51:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:51:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:51:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-10-14 15:51:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-10-14 15:51:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-14 15:51:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:51:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.07 秒,結果: 0
2025-10-14 15:51:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:51:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:51:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:51:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:52:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:52:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:52:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:52:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:52:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:52:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.03 秒,結果: 0
2025-10-14 15:52:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:52:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:53:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:53:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:53:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:53:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:53:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:53:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:53:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:53:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:53:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:53:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:53:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:53:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:53:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:53:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:53:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:53:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:53:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:53:11 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:53:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:53:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:54:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:54:11 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:54:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:54:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:54:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:54:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:54:14 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:54:14 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:54:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:54:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:54:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:54:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:55:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:55:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:55:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:55:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:55:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:55:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:55:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:55:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:56:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:56:03 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:56:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:56:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:56:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:56:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:56:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:56:05 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:56:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:56:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:56:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:56:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:56:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:56:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:56:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:56:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:56:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 15:56:09 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'update_hourly_log_file' 執行完成,耗時 0.00 秒,結果: False
2025-10-14 15:56:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:56:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:56:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:56:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:56:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:56:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-10-14 15:56:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.09 秒,結果: 0
2025-10-14 15:56:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-10-14 15:56:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:56:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.06 秒,結果: 0
2025-10-14 15:57:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:57:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:57:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:57:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:57:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:57:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:57:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:57:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:57:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:57:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:57:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:57:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:58:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:58:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:58:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:58:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:58:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:58:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:58:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:58:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:59:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 15:59:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 15:59:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 200.7MB, CPU 0.0%
2025-10-14 15:59:03 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 15:59:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:59:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:59:06 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:59:06 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:59:07 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:59:07 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:59:10 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: reset_stalled_requests
2025-10-14 15:59:10 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'reset_stalled_requests' 執行完成,耗時 0.01 秒,結果: 0
2025-10-14 15:59:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:59:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:59:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:59:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:59:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:59:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 15:59:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 15:59:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 16:00:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 16:00:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 16:00:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 16:00:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 16:00:12 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 16:00:12 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 16:00:15 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: process_api_requests
2025-10-14 16:00:15 - INFO - scheduler - [scheduler.py:134] - _execute_task_thread - 任務 'process_api_requests' 執行完成,耗時 0.02 秒,結果: 0
2025-10-14 16:00:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.6MB, CPU 0.0%
2025-10-14 16:00:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 128.0MB, CPU 0.0%
2025-10-14 16:00:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 3, 記憶體 200.7MB, CPU 0.0%
2025-10-14 16:00:33 - INFO - ThreadPoolManager - [thread_pool.py:313] - _perform_health_check - 線程池健康檢查: 活躍線程 0/5, 隊列大小 0, 總處理任務 0, 記憶體 127.9MB, CPU 0.0%
2025-10-14 16:01:03 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 16:01:03 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251014_15.log,新:20251014_16.log
2025-10-14 16:01:05 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 16:01:05 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251014_15.log,新:20251014_16.log
2025-10-14 16:01:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 16:01:09 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251014_15.log,新:20251014_16.log
2025-10-14 16:01:09 - INFO - scheduler - [scheduler.py:116] - _execute_task_thread - 執行任務: update_hourly_log_file
2025-10-14 16:01:09 - INFO - main - [app_initializer.py:347] - update_hourly_log_file - 檢測到小時變更,當前:20251014_15.log,新:20251014_16.log