Значение по умолчанию для максимального слайса файбера
Параметр: fiber_slice_default
Максимальный слайс файбера задает максимальное время выполнения файбера
без передачи управления (yield), прежде чем в лог будет записано
предупреждение или вызвана ошибка. Он задается с помощью функции
fiber.set_max_slice(). Новый параметр compat
— fiber_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).