Команда 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/