Spec-Zone.ru › RethinkDB javascript

Команда ReQL: wait

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

table.wait([{waitFor: 'all_replicas_ready', timeout: <sec>}]) → object
database.wait([{waitFor: 'all_replicas_ready', timeout: <sec>}]) → object
r.wait(table | database, [{waitFor: 'all_replicas_ready', timeout: <sec>}]) → object

Описание

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

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

  • waitFor: строка, указывающая таблицу статус, на которую нужно подождать, прежде чем вернуть результат, одна из 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, callback);
// Result passed to callback
{ "ready": 1 }

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

Spec-Zone.ru

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