Posted by jcisio on April 3, 2008 at 12:10am
Hi,
Drupal 6 có Batch API khá thuận tiện. Nhưng nó chỉ cho phép tạo một danh sách các hàm để lần lượt thực hiện. Dù có thể gọi cùng một hàm thực hiện 1, 2, 3 lần nhưng làm cách nào để gọi nó n lần (n không biết trước khi chạy). Có ai biết làm không ?
Một ứng dụng cụ thể là cái converter. Làm sao để mỗi lần convert xong 100 mục nó sẽ tự load lại và tiếp tục để tránh timeout ?
Thanks.

Comments
TH chưa hiểu cách lưu
Không cần lặp vô tận.
Thế Hồng
Điểm hay của Batch API
Điểm hay của Batch API là nó có thanh báo trạng thái và nó dùng AJAX để refresh. Nếu tiếp cận cách dùng _finished thì nó hết là batch mất, vì mình hoàn toàn có thể dùng $_SESSION để lưu dữ liệu.
Thông tin công nghệ : Tin tức CNTT, điện tử, viễn thông...
Cái hay hơn của nó
Cái hay hơn của nó nữa là: browser không support JS, nó vẫn chạy ngon lành.
Theo dõi một chút về quá trình phát triển của Batch API: http://cvs.drupal.org/viewvc.py/drupal/drupal/includes/form.inc?view=log
Thế Hồng
Không có thời gian
Không có thời gian đọc CVS commit log, nhưng chắc đó là Form API ?
Batch dùng cho progressive task hay hơn multistep form ở chỗ có thanh chỉ thị. Các ứng dụng kiểu này ít khi dùng (dù dùng ở nhiều site), nên có yêu cầu JS cũng bình thường. Hiện tại có một giải pháp thế này, làm kiểu http://api.drupal.org/api/function/batch_example_batch_2/6 trước khi làm ước lượng trước số step rồi dùng for để add vào mảng $operations.
Đang nghiên cứu để hoàn thiện joomla2drupal. Chứ chạy ở laptop mình mất vài giây nhưng đem lên host mất 5 phút chưa xong. Một phần cũng tại db không đặt ở localhost, dù vẫn trong LAN.
Thông tin công nghệ : Tin tức CNTT, điện tử, viễn thông...
Batch API mình chưa dùng bao
Batch API mình chưa dùng bao giờ, nó có điểm hay gì nữa ko vậy
bep cong nghiep , bep nha hang , may lam da vien