Коротко о Batch API

Аватар пользователя InternetDevels.com InternetDevels.com 20 июня 2011 в 16:21

Пакетные операции дают возможность обрабатывать формы в течении нескольких запросов. Это предотвращает обрыв обработки изза тайм-аута РНР. Также пользователю предоставляется информация о ходе осуществления текущих операций.

Утверждают, что в первую очередь batch был разработан для гармоничной интеграции с Forms API, хотя часто его используют в обычных скриптах таких как update.php.
Представим, что нам необходимо осуществить обработку большого количества данных. Для начала мы создадим страницу в hook_menu.

Читать полностью...

0 Thanks

Комментарии

Аватар пользователя Lotar Lotar 20 июня 2011 в 18:12

А для каких практических целей это можно применить?Не считая инсталляций.

Аватар пользователя vectoroc vectoroc 20 июня 2011 в 19:42

Обработка больших объемов данных, чтобы избежать timeout-а.
Встречается повсеместно

Аватар пользователя Sun-fire Sun-fire 20 июня 2011 в 23:42

Хорошая статья, спасибо автору. В свое время довольно долго разбирался с Batch API, поскольку примеров в сети было не очень много. Насчет обработки больших объемов данных - это да. С помощью Batch API как раз можно обойти максимальное время исполнения скрипта, которое ограничивает работу с большими объемами данных.

Правда и ограничение есть. Batch подразумевает запуск процеса пользователем из браузера. Если стоит задача сделать автономный механизм, который будет работать без прямого вмешательства человека - батч уже не прокатит. Для этого уже нужно использовать механизм очередей.

Аватар пользователя vgoodvin vgoodvin 21 июня 2011 в 11:12
"Sun-fire" wrote:

поскольку примеров в сети было не очень много

Уже как год точно есть статья в документации, а примеры есть в ядре и контрибе.

Аватар пользователя andreypaa andreypaa 21 июня 2011 в 16:01
"Valeratal" wrote:

предотвращает но не на 100%
У меня обрывы были

наверно функция не успевала отработать за установленный лимит времени