Spec-Zone.ru › RethinkDB python

Команда ReQL: wait

Синтаксис команды

table.wait([wait_for='all_replicas_ready', timeout=<sec>]) → object
database.wait([wait_for='all_replicas_ready', timeout=<sec>]) → object
r.wait(table | database, [wait_for='all_replicas_ready', timeout=<sec>]) → object

Описание

Ожидание готовности таблицы или всех таблиц в базе данных. Таблица может быть временно недоступна после создания, перебалансировки или переконфигурации. Команда wait блокирует выполнение, пока указанная таблица (или база данных) не будет полностью обновлена.

Команда wait принимает два необязательных аргумента:

  • wait_for: строка, указывающая таблицу состояния, на которую следует ожидать, прежде чем вернуть результат, одна из ready_for_outdated_reads, ready_for_reads, ready_for_writes, или all_replicas_ready. По умолчанию all_replicas_ready.
  • timeout: число, обозначающее максимальное время ожидания готовности таблицы в секундах. Если это значение превышено, будет выброшено исключение ReqlRuntimeError. Значение 0 означает отсутствие таймаута. По умолчанию 0 (без таймаута).

Возвращаемое значение — объект, содержащий единственное поле, ready. Значение — целое число, указывающее количество ожидаемых таблиц. Оно всегда будет 1 при вызове wait для таблицы и общее количество таблиц при вызове для базы данных.

Версии RethinkDB до 2.3 позволяли вызывать wait без указания таблицы или базы данных. Это больше не поддерживается; wait требует явного выбора базы данных или таблицы.

Пример: Ожидание готовности таблицы.

r.table('superheroes').wait().run(conn)

{"ready": 1}

© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/python/wait/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API