Giao diện
Hướng dẫn cài đặt và sử dụng — Async Task Manager
Yêu cầu hệ thống
- Server Digiforce đang chạy
- (Tuỳ chọn) Redis cho task queue trong môi trường multi-instance
Bước 1: Kích hoạt plugin
Vào Settings → Plugin Manager, tìm plugin-async-task-manager và bật. Khởi động lại server.
TIP
Plugin này thường được bật sẵn vì là dependency cho nhiều plugin khác (Export, Import, Bulk Edit). Kiểm tra trước khi kích hoạt thủ công.
Bước 2: Tự động hoạt động
Sau khi kích hoạt, plugin tự động xử lý các tác vụ nặng chạy trong nền:
| Tác vụ | Plugin nguồn | Mô tả |
|---|---|---|
| Export XLSX | plugin-export | Xuất dữ liệu collection ra file Excel |
| Import CSV | plugin-import | Nhập dữ liệu từ file CSV |
| Bulk Update | plugin-bulk-edit | Cập nhật hàng loạt bản ghi |
| Backup | plugin-backups | Sao lưu database |
| Custom tasks | Plugin bên thứ ba | Tác vụ tuỳ chỉnh |
Luồng thực thi tác vụ nền
Giao diện người dùng
Khi có tác vụ nền đang chạy, giao diện hiển thị:
| Thành phần | Mô tả | Vị trí |
|---|---|---|
| Task indicator | Biểu tượng hiển thị số task đang chạy | Toolbar phía trên |
| Task list | Danh sách tasks với trạng thái và tiến trình | Panel popup |
| Progress bar | Thanh tiến trình cho từng task (0–100%) | Trong task list |
| Cancel button | Huỷ task đang chạy | Mỗi task item |
| Download link | Tải file kết quả (với export tasks) | Khi task hoàn tất |
Trạng thái tác vụ
| Trạng thái | Ý nghĩa | Hành động có thể |
|---|---|---|
pending | Đang chờ worker nhận | Huỷ |
running | Đang xử lý | Huỷ, xem tiến trình |
completed | Hoàn tất | Tải kết quả, xem chi tiết |
failed | Lỗi | Xem thông báo lỗi, thử lại |
cancelled | Đã huỷ | Tạo task mới |
Bước 3: Cấu hình (tuỳ chọn)
| Tham số | Mặc định | Mô tả | Khuyến nghị |
|---|---|---|---|
| Max concurrent tasks | 5 | Số task chạy đồng thời tối đa | 3–10 tuỳ tài nguyên server |
| Task timeout | 600s (10 phút) | Thời gian tối đa cho mỗi task | Tăng nếu export dữ liệu lớn |
| Cleanup after | 24h | Xoá task cũ và file kết quả sau bao lâu | 12–48h tuỳ nhu cầu |
| Retry count | 3 | Số lần thử lại khi task lỗi | 1–5 |
Sử dụng với Multi-instance
Trong môi trường chạy nhiều instance server (cluster, load balancer):
- Cần Redis để đồng bộ task queue giữa các instance
- Không có Redis → tasks chỉ chạy trên instance nhận request
- Cấu hình Redis connection qua biến môi trường hoặc config file
Lưu ý quan trọng
- Tasks nặng (export dữ liệu lớn) nên chạy ngoài giờ cao điểm
- Kết quả task (file export) lưu tạm trên server — tự động xoá sau thời gian cấu hình
- Nếu server restart trong khi task đang chạy, task sẽ chuyển sang
failed - Dùng Redis để đảm bảo task queue bền vững giữa các lần restart
- File kết quả lưu trong thư mục
storage/— đảm bảo đủ dung lượng disk