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