Tarantool CE/EE Documentation portal logo
Помощь

Вложенный модуль box.ctl

Функции wait_ro (ожидание перехода в режим только для чтения) и wait_rw (ожидание перехода в режим чтения и записи) полезны при инициализации сервера. Чтобы проверить режим функции — только для чтения или чтение и запись, используйте box.info.ro.

Для box.once() есть особое предназначение. Например, при инициализации реплика может вызвать функцию box.once(), пока сервер все еще находится в режиме только для чтения, и не сможет применить изменения однократно до окончательной инициализации реплики. Это может привести к конфликту между мастером и репликой, если мастер находится в режиме чтения и записи, а реплика доступна только для чтения. Ожидание условия read only mode = false (режим только для чтения отключен) решает эту проблему.

Ниже приведен перечень всех функций модуля box.ctl.

Имя

Назначение

box.ctl.wait_ro()

Ожидание, пока box.info.ro не станет true

box.ctl.wait_rw()

Ожидание, пока box.info.ro не станет false

box.ctl.on_schema_init()

Создание триггера schema_init

box.ctl.on_shutdown()

Создание триггера shutdown

box.ctl.on_recovery_state()

Создание триггера, выполняемого на разных стадиях восстановления узла или начальной конфигурации

box.ctl.on_election()

Создание триггера, выполняемого при каждом изменении текущего состояния узла набора реплик в контексте выбора лидера

box.ctl.set_on_shutdown_timeout()

Установка времени ожидания в секундах для триггера on_shutdown

box.ctl.is_recovery_finished()

Проверка завершения восстановления

box.ctl.promote()

Ожидание и выбор лидера репликации

box.ctl.demote()

Отзыв роли лидера у экземпляра

box.ctl.make_bootstrap_leader()

Назначение экземпляра лидером начальной загрузки набора реплик