Tarantool CE/EE Documentation portal logo
Помощь
Обновлена 15 сентября 2026 г. в 08:55

Значение по умолчанию для максимального слайса файбера

Параметр: fiber_slice_default

Максимальный слайс файбера задает максимальное время выполнения файбера без передачи управления (yield), прежде чем в лог будет записано предупреждение или вызвана ошибка. Он задается с помощью функции fiber.set_max_slice(). Новый параметр compatfiber_slice_default — управляет значением по умолчанию для максимального слайса файбера.

Старое и новое поведение

Старое значение по умолчанию для максимального слайса файбера — бесконечность (без предупреждений и ошибок). Новое значение по умолчанию — {warn = 0.5, err = 1.0}. Чтобы использовать новое поведение, задайте значение new для параметра fiber_slice_default следующим образом:

compat = require('compat')compat.fiber_slice_default = 'new'

Известные проблемы совместимости

На данный момент не известно о несовместимых модулях.

Обнаружение проблем в кодовой базе

Если в логе появилось следующее предупреждение:

fiber has not yielded for more than 0.500 seconds,

или при вызове функции box неожиданно возникла следующая ошибка:

error: fiber slice is exceeded,

значит, в приложении есть файбер, который может превысить свой слайс и завершиться с ошибкой.

Сначала убедитесь, что для этого файбера используется fiber.yield() для передачи управления другому файберу. Также можно увеличить слайс файбера с помощью функции fiber.extend_slice(slice).