Giao diện
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=2000Sync vs Async — Chi tiết hành vi
| Tiêu chí | Sync mode | Async mode |
|---|---|---|
| Trigger | Số bản ghi < ngưỡng | Số bản ghi >= ngưỡng |
| Response | Binary XLSX ngay lập tức | Job ID + thông báo |
| Timeout risk | Có (với dữ liệu lớn) | Không (background job) |
| User experience | Tải file ngay | Chờ notification → tải file |
| Server load | Cao (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ăng | Mô tả |
|---|---|
| Job queue | Export job được đưa vào hàng đợi, xử lý tuần tự |
| Progress | Cập nhật tiến trình (x% bản ghi đã xử lý) |
| Notification | Thông báo cho user khi job hoàn tất |
| File storage | Lưu file kết quả tạm thời để user tải về |
| Auto cleanup | File kết quả được xóa sau thời gian cấu hình |