Интерфейса на Batch operations е изключително удобен. Използва се, когато трябва да се предостави UI на администратор, модератор и др. за стартиране на процеси, които могат да отнемат повечко време - доста повече от разрешения timeout за отговор от сървъра, който би прекратил стартираната на страницата операция. Такива са масово обновяване на съдържание по някакви критерии, или изтегляне на данни от други системи.
Последно го ползвах при ъпдейт на данни от xml файл (~10MB) в таблица с малко над 40 хил. записа. При дефинирането на процеса когато batch_set($batch_definition) не е във .module файла Задължително трябва да укажем file в който е обработващата функция - въпреки че в http://api.drupal.org/api/drupal/includes%21form.inc/function/batch_set/6 е казано "only 'operations' is required", тъй като няколко реда по-долу е уточнено в точката за file че се изисква когато това се прави в не .module файл. В моя случай файла е MYMODULE.pages.inc - отделен файл за страниците с административно предназначение. Извода от това е да се чете всичко по темата за да няма изненади :).
Управление на batch процеси
Categories: