Luồng dữ liệu
Vòng đời một lệnh tra cứu:
- Client gửi yêu cầu —
POST api/v1/TextSearch_*/...(hoặcTextSearch_DESearchGeneral_ForAPIcho tích hợp bên thứ 3). API xác thực JWT. - API lưu yêu cầu vào bảng
TextSearch_*trong SQL Server. - API đẩy job vào bảng hàng đợi
TextSearch_SeleniumQueue/TextSearch_TakeScreenshot_Queue. - API phát tín hiệu UDP tới worker
127.0.0.1:11000("Selenium Search","Take screenshot","Get More Info"…). - Worker poll bảng hàng đợi, mở trình duyệt, điều hướng tới website nguồn, scrape dữ liệu + chụp màn hình / tải PDF.
- Worker ghi kết quả vào bảng
TextSearch_Data_*. - Trả kết quả về khách hàng —
WebhookHelperPOST (RestSharp) tớiAPIUrlcấu hình trong bảngTextSearch_Webhooks. - Client có thể đọc lại kết quả qua các endpoint
SearchData_*.
Client ──POST──► API ──insert──► TextSearch_* (DB)
│
├──insert──► TextSearch_SeleniumQueue (DB)
└──UDP────► Worker :11000
│ poll queue
├──scrape──► Website nguồn
└──insert──► TextSearch_Data_* (DB)
│
└──webhook POST──► Hệ thống khách hàng
Lỗi/cảnh báo trong quá trình được gửi qua email queue và Google Chat (xem Vận hành › Logging).