Команда ReQL: wait
Синтаксис команды
table.wait() → object database.wait() → object r.wait(table | database) → object
Описание
Ожидание готовности таблицы или всех таблиц в базе данных. Таблица может быть временно недоступна после создания, перебалансировки или переконфигурации. Команда wait блокирует выполнение, пока указанная таблица (или база данных) не будет полностью обновлена.
Команда wait принимает два необязательных аргумента с помощью optArg:
-
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/java/wait/