Bỏ qua, đến nội dung

Cấu hình nâng cao

Biến môi trường

EXPORT_AUTO_MODE_THRESHOLD

Ngưỡng quyết định chế độ sync/async:

Giá trịHành vi
Thấp (VD: 500)Nhiều export chuyển sang async — giảm tải server nhưng user phải chờ notification
Cao (VD: 50000)Hầu hết export chạy sync — phản hồi nhanh nhưng rủi ro timeout với dữ liệu lớn

Đặt giá trị phù hợp dựa trên cấu hình server (RAM, CPU) và kích thước dữ liệu trung bình.

bash
EXPORT_AUTO_MODE_THRESHOLD=2000

Sync vs Async — Chi tiết hành vi

Tiêu chíSync modeAsync mode
TriggerSố bản ghi < ngưỡngSố bản ghi >= ngưỡng
ResponseBinary XLSX ngay lập tứcJob ID + thông báo
Timeout riskCó (với dữ liệu lớn)Không (background job)
User experienceTải file ngayChờ notification → tải file
Server loadCao (blocking)Thấp (background worker)

Export Attachments — ZIP archive

Action exportAttachments luôn chạy async vì phải đọc nhiều file từ storage:

  • Worker đọc tất cả attachment file từ file storage.
  • Nén thành file ZIP duy nhất.
  • Lưu kết quả vào async task manager.
  • User tải ZIP qua asyncTasks:fetchFile.

Tích hợp Async Task Manager

Plugin tích hợp sâu với plugin-async-task-manager:

Tính năngMô tả
Job queueExport job được đưa vào hàng đợi, xử lý tuần tự
ProgressCập nhật tiến trình (x% bản ghi đã xử lý)
NotificationThông báo cho user khi job hoàn tất
File storageLưu file kết quả tạm thời để user tải về
Auto cleanupFile kết quả được xóa sau thời gian cấu hình