Nhảy đến nội dung chính

TRANG 2: Bộ máy điều phối Task (Orchestrator)

2.1. MultiEndpointSyncTask (Điểm khởi đầu)

Nằm tại: src/main/wso2mi/artifacts/tasks/MultiEndpointSyncTask.xml.

  • Class: org.apache.synapse.startup.tasks.MessageInjector.
  • Cơ chế: Task này không chứa logic đồng bộ. Nó đóng vai trò "còi báo động" định kỳ cứ mỗi 30 giây (hoặc cấu hình) sẽ đẩy một thông điệp vào bộ máy xử lý.

2.2. ManagerEvaluateTasksSequence (Bộ quản lý)

Đây là "bộ não" điều phối toàn bộ quá trình:

  1. Kiểm tra Khóa (sync_lock): Hệ thống gọi syncLockDataService/getLock. Nếu một luồng đồng bộ khác đang chạy, luồng mới sẽ tự động hủy để tránh tình trạng "Race Condition" (nhiều tiến trình cùng ghi vào một bảng dữ liệu).
  2. Lấy cấu hình Task: Truy vấn lên tới 200 Task đang ở trạng thái kích hoạt (status='1') từ bảng job_schedule.
  3. Lặp (Iterate): Sử dụng thẻ <iterate> của WSO2 để chia nhỏ danh sách Task cho các luồng xử lý song song, tối ưu hóa hiệu suất CPU.