1. Bussiness | Logic
Search Tool
  • Tổng quan
  • Bussiness | Logic
    • Nghiệp vụ & Luồng Tìm kiếm
    • Task Orchestration
    • Scraping & Execution
    • Exception & Recovery
    • Proxy Orchestration
  • Project
    • Search API
      • Tổng quan Search API
      • Architecture
        • Database Schema
        • System Architecture
        • Code Structure
      • API Interface
        • Go - Auth
          • Đăng nhập
          • Đăng ký (Public)
        • Go - User
          • Danh sách User (Phân trang)
          • Tạo User
          • Lấy tất cả User
          • Profile cá nhân
          • Chi tiết User
          • Cập nhật User
          • Xóa User
          • Đổi mật khẩu
        • Go - System
          • Nhật ký hoạt động (Phân trang)
          • Cập nhật dữ liệu Search
          • Test Webhook receiver
        • Go - Server
          • Danh sách Server (Phân trang)
          • Tạo Server
          • Lấy tất cả Server
          • Chi tiết Server
          • Cập nhật Server
          • Xóa Server
        • Go - Tasks
          • Tạo nhiều task Search
          • Lấy tất cả task Search
          • Reset trạng thái tất cả nhiệm vụ Search
          • Tạo nhiều task Anchor Text
          • Lấy tất cả nhiệm vụ Anchor Text
          • Reset trạng thái tất cả nhiệm vụ Anchor Text
        • Go - Webhook
          • Webhook cập nhật trạng thái (Dùng WEBHOOK_KEY)
          • Lấy Proxy cho Tool
          • Lấy Proxy có thể rotate
          • Cập nhật kết quả Search
          • Kết quả rotate Proxy
          • Cập nhật kết quả Anchor Text
          • Nhận kết quả từ Tool (v2)
      • Deployment
        • Local
        • Staging
        • Product
    • Search tool
      • Tổng quan Search Tool
      • Architecture
        • Database Schema
        • System Architecture
        • Code Structure
      • API Interface
        • Bun - Main
          • Thông tin server Bun
          • Health Check
          • Lấy file Log
        • Bun - Task
          • Danh sách Search Tasks
          • Tạo nhiều Search Tasks
          • Xóa tất cả Search Tasks
          • Xóa Search Task
          • Reset trạng thái Search
          • Reset running process
          • Danh sách Anchor Tasks
          • Tạo nhiều Anchor Tasks
          • Xóa tất cả Anchor Tasks
          • Xóa Anchor Task
          • Reset trạng thái Anchor
          • Reset running process
      • Deployment
        • Local
        • Staging
        • Product
  • Schemas
    • LoginRequest
    • ProxyRequest
    • CreateUserRequest
    • KeywordTaskRequest
    • UpdateUserRequest
    • SearchAutomationRequest
    • ChangePasswordRequest
    • CreateServerRequest
    • AnchorTextTaskRequest
  1. Bussiness | Logic

Exception & Recovery

ĐẶC TẢ NGHIỆP VỤ: XỬ LÝ NGOẠI LỆ VÀ PHỤC HỒI (EXCEPTION & RECOVERY)#

Tài liệu này xác định các quy tắc đảm bảo tính ổn định và tính toàn vẹn dữ liệu. Hệ thống vận hành theo triết lý "Chấp nhận Lỗi" (Fault-tolerance), tự động phục hồi sau các sự cố hạ tầng.

1. Phân loại Ngoại lệ và Kịch bản Phục hồi#

Mọi tác vụ quét đều có nguy cơ thất bại do biến động của mạng lưới hoặc sự can thiệp từ bộ máy tìm kiếm. Hệ thống chuẩn hóa 4 mã trạng thái lỗi và cách giải quyết:
Lỗi Kỹ thuật (-1): Xảy ra khi trình duyệt bị sự cố bất ngờ (Crash) hoặc ngắt kết nối mạng.
Hành động: Worker báo lỗi. Master API tăng biến đếm retry_count và đặt tác vụ vào hàng đợi để chờ xử lý lại sau 5 phút.
Không tìm thấy Kết quả (-2): Từ khóa được truy vấn không tồn tại trong chỉ mục (Index) của máy tìm kiếm.
Hành động: Hệ thống kết thúc tiến trình của tác vụ này, ghi nhận báo cáo "Not Found" và không tiến hành chạy lại.
Phát hiện Bot / Chặn Captcha (-3): Máy tìm kiếm nhận diện hành vi tự động và yêu cầu giải mã Captcha.
Hành động: Worker dừng thao tác, vứt bỏ Proxy hiện hành và đánh dấu Proxy này bị lỗi. Tác vụ được tăng biến đếm captcha_retry_count và yêu cầu chạy lại từ đầu với một Proxy mới.
Tác vụ bị Treo (Stuck Task): Hiện tượng tác vụ duy trì trạng thái "PROCESSING" vô thời hạn do Worker bị sập nguồn (Hard Crash) không thể báo cáo kết quả.
Hành động: Master API thực thi tiến trình tuần tra mỗi 6 phút. Bất kỳ tác vụ nào vi phạm thời gian chờ tối đa sẽ bị ép buộc hạ cấp về trạng thái "PENDING", giải phóng khỏi Worker cũ để phân bổ cho Worker khác.

2. Kiểm duyệt Tính Toàn vẹn Dữ liệu (Verification Logic)#

Hệ thống không chấp nhận dữ liệu vô điều kiện từ Worker để phòng tránh lỗi ghi đè dữ liệu rác.
Xác thực Nguồn gốc: Mọi lệnh trả kết quả (Webhook) từ Worker phải mang theo mã xác thực Webhook Key. Master API từ chối các kết nối không hợp lệ.
Kiểm tra Định dạng (Payload Validation): Master API phân tích khối JSON trả về. Tác vụ chỉ được coi là thành công nếu đối tượng SearchData không bị rỗng và tuân thủ đúng cấu trúc.
Khóa Giao dịch (Transaction Lock): Chỉ khi dữ liệu vượt qua mọi rào cản kiểm duyệt, hệ thống mới cập nhật bản ghi vào cơ sở dữ liệu keyword_results và giải phóng khóa (Lock) của tác vụ này trên hệ thống Redis.
Ngày cập nhật 2026-03-30 10:55:24
Trước
Scraping & Execution
Tiếp theo
Proxy Orchestration
Built with