Bỏ qua, đến nội dung

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ồnMô tả
Export XLSXplugin-exportXuất dữ liệu collection ra file Excel
Import CSVplugin-importNhập dữ liệu từ file CSV
Bulk Updateplugin-bulk-editCập nhật hàng loạt bản ghi
Backupplugin-backupsSao lưu database
Custom tasksPlugin bên thứ baTá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ầnMô tảVị trí
Task indicatorBiểu tượng hiển thị số task đang chạyToolbar phía trên
Task listDanh sách tasks với trạng thái và tiến trìnhPanel popup
Progress barThanh tiến trình cho từng task (0–100%)Trong task list
Cancel buttonHuỷ task đang chạyMỗi task item
Download linkTả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ĩaHành động có thể
pendingĐang chờ worker nhậnHuỷ
runningĐang xử lýHuỷ, xem tiến trình
completedHoàn tấtTải kết quả, xem chi tiết
failedLỗiXem 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 địnhMô tảKhuyến nghị
Max concurrent tasks5Số task chạy đồng thời tối đa3–10 tuỳ tài nguyên server
Task timeout600s (10 phút)Thời gian tối đa cho mỗi taskTăng nếu export dữ liệu lớn
Cleanup after24hXoá task cũ và file kết quả sau bao lâu12–48h tuỳ nhu cầu
Retry count3Số lần thử lại khi task lỗi1–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