Quản lý Dataset: Thử lại (Retry)
Mô tả Tổng quan
Tính năng Quản lý Dataset cung cấp khả năng quản trị để duy trì và quản lý các dataset phục vụ phân tích sản phẩm. Chức năng quan trọng là khả năng thử lại (retry) việc phân tích dataset khi các lần trước thất bại hoặc kết quả chưa đầy đủ, đảm bảo tính tin cậy và đầy đủ của dữ liệu cho mục đích phân tích.
Tính năng hướng tới quản trị viên và nhà phân tích cần đảm bảo chất lượng và tính sẵn sàng của dataset. Cho phép khôi phục khỏi sự cố xử lý mà không cần tạo lại dataset từ đầu.
Swagger Link
API: Retry Dataset API
Tài liệu Tình huống
Trường hợp 1: Thử lại phân tích Dataset
Mô tả
Người dùng khởi tạo thử lại quy trình phân tích cho một dataset đã gặp sự cố xử lý trước đó.
Sơ đồ Trình tự
sequenceDiagram
participant User
participant API as WishlistDatasetController
participant Service as ProductAnalysisService
participant Repo as WishlistDatasetHistoryRepository
participant Auth as Authentication
participant JP as JP API
Note over User,JP: Bước 1: Yêu cầu Retry Dataset
User->>API: GET /api/v1/general/{wldh_slug}/retry
Note over API,Repo: Bước 2: Xác thực Dataset
API->>Repo: findBySlug(wldh_slug)
Repo-->>API: wishlistDatasetHistory
Note over API,Auth: Bước 3: Xác thực quyền
API->>Auth: get_logged_in_user()
Auth-->>API: user
API->>API: Kiểm tra user thuộc cùng group
Note over API,Service: Bước 4: Khởi tạo Retry
API->>Service: retryDataset(wishlistDatasetHistory, dataset_id)
Service->>JP: Cập nhật trạng thái và đưa vào hàng đợi xử lý lại
JP-->>Service: Kết quả
Note over API,User: Bước 5: Trả về phản hồi
API-->>User: 200 OK (Success message)
Các bước
Bước 1: Yêu cầu Retry
- Mô tả: Gửi yêu cầu thử lại phân tích dataset
- Yêu cầu:
GET /api/v1/general/{wldh_slug}/retry - Tham số:
- Đường dẫn:
wldh_slug- định danh duy nhất của lịch sử dataset
- Đường dẫn:
Bước 2: Xác thực Dataset
- Mô tả: Hệ thống xác thực dataset tồn tại
- Hành động: Tìm lịch sử dataset theo slug trong repository
- Lỗi tiềm ẩn: Dataset không tìm thấy
Bước 3: Xác thực Quyền
- Mô tả: Xác thực người dùng có quyền retry dataset
- Hành động: Kiểm tra user đăng nhập thuộc cùng group với dataset
- Lỗi tiềm ẩn: Không có quyền (Unauthorized)
Bước 4: Khởi tạo Retry
- Mô tả: Khởi chạy quy trình retry cho dataset
- Hành động: Gọi service retry dataset
- Thao tác thực hiện:
- Reset trạng thái xử lý dataset
- Xóa cờ lỗi trước đó
- Đưa dataset vào hàng đợi xử lý lại
- Cập nhật thời gian
Bước 5: Trả về phản hồi
- Mô tả: Trả về kết quả retry
- Phản hồi:
- Thành công:
200 OKvới thông điệp thành công - Lỗi: Mã lỗi và thông điệp phù hợp
- Thành công:
Bảng/Trường liên quan
Xem: Analysis API Specification
Xử lý Lỗi
-
Log
- Ghi log thất bại retry dataset
-
Chi tiết Lỗi:
Mã Thông báo Mô tả 404 "Dataset not found" Khi slug dataset không tồn tại 404 "Wishlist group not found" Không tìm thấy group tương ứng 403 "Unauthorized access" User không thuộc cùng group với dataset 500 "Failed to retry dataset" Thất bại kỹ thuật khi retry 500 Lỗi chung kèm thông điệp ngoại lệ Lỗi bất ngờ khi xử lý
Ghi chú bổ sung
- Chỉ retry khi cần thiết vì tốn tài nguyên
- Nhiều lần retry liên tiếp có thể chỉ ra vấn đề dữ liệu gốc
- Cân nhắc thời gian chờ giữa các lần retry cho cùng dataset
- Hệ thống lưu lịch sử các lần retry phục vụ audit và xử lý sự cố
- Retry không thay đổi nội dung dữ liệu gốc, chỉ xử lý lại dữ liệu hiện có