Вложенный модуль box.ctl
Вложенный модуль box.ctl
включает в себя две функции: wait_ro
(дождаться режима только для чтения) и wait_rw
(дождаться режима чтения и записи). Эти функции используются во время инициализации сервера.
Для box.once() есть особое предназначение. Например, при инициализации реплика может вызвать функцию box.once()
, пока сервер все еще находится в режиме только для чтения, и не сможет применить изменения однократно до окончательной инициализации реплики. Это может привести к конфликту между мастером и репликой, если мастер находится в режиме чтения и записи, а реплика доступна только для чтения. Ожидание условия «read only mode = false» (режим только для чтения отключен) решает эту проблему.
Чтобы проверить режим функции – только для чтения или чтение и запись, используйте box.info.ro.
Ниже приведен перечень всех функций модуля box.ctl
.
Имя | Использование |
---|---|
box.ctl.wait_ro() | Дождаться, пока не будет выполнено box.info.ro |
box.ctl.wait_rw() | Дождаться, пока не перестанет соблюдаться box.info.ro |