Пакетная обработка данных (Batch API) позволяет производить обработку большого объёма данных в пределах одного вызова, но разбивая выполнение на подзапросы.
Batch API основывается на очередях и является соответствующей обёрткой. Можно выделить следующие отличия Batch API от Queue API:
- Batch API имеет пользовательский интерфейс, который отображает ход выполнения операций.
- Очереди могут обрабатываться с любым темпом, количеством и логикой. Batch API выполняется за один запуск. Пользователь, запустивший пакетную обработку, должен дождаться её завершения, при закрытии страницы, обработка прекратится, а данные, которые остались необработанными будут утеряны.
- Batch API обеспечивает принцип FIFO (первым пришёл — первым ушёл). Иными словами, все элементы пакетной обработки обрабатываются в строгом порядке. Если обработка одного элемент завершится неудачей, обработка оставшихся элементов прекратится.
- Позволяет обрабатывать один элемент "очереди" продолжительное время, до тех пор пока он окончательно не будет завершен.
- Batch API позволяет делать каждой операции свой собственный обработчик.
¶Страница пакетной обработки
- Заголовок пакетной операции.
- Сообщение текущего прогресса.
- Текущий прогресс выполнения пакетной обработки.
- Сколько операций выполнено.
- Процентное отражение прогресса.
¶Смотрите также
¶Ссылки
- Drupal 8: Batch API, Niklan, 2018