Batch Processing
Xử lý hàng loạt (Thao tác tệp số lượng lớn)
Kỹ thuật áp dụng cùng một thao tác cho nhiều tệp đồng thời hoặc tuần tự, thay vì xử lý từng tệp riêng lẻ, tiết kiệm đáng kể thời gian cho các tác vụ lặp đi lặp lại.
Chi tiết kỹ thuật
Trong các công cụ trên trình duyệt, xử lý hàng loạt thường sử dụng File API của JavaScript để đọc nhiều tệp qua kéo-thả hoặc bộ chọn tệp, xử lý từng tệp qua Web Worker để tránh chặn luồng giao diện, và đóng gói kết quả để tải về (thường dưới dạng ZIP sử dụng JSZip). Xử lý hàng loạt phía máy chủ sử dụng hàng đợi tác vụ (Celery, RQ) với giới hạn đồng thời có thể cấu hình để ngăn cạn kiệt tài nguyên. Các cân nhắc thiết kế chính bao gồm báo cáo tiến trình, xử lý lỗi từng phần và quản lý bộ nhớ cho tập tệp lớn.
Ví dụ
```javascript
// Batch process files with progress tracking
async function batchProcess(files, processFn) {
const results = [];
for (let i = 0; i < files.length; i++) {
const result = await processFn(files[i]);
results.push(result);
updateProgress((i + 1) / files.length * 100);
}
return results;
}
```