Мне интересно, как я могу установить обратный вызов при выбросе ошибки волокна.
пример:
local fiber = require("fiber")
local status = 0 --in my case stored in db
local function time_consuming()
lua_error
status = 0
end
function external_api_function()
if status == 1 then return "already running" end
status = 1
fiber.create(time_consuming)
return "started"
end
поэтому я хочу установить статус на 0, если функция time_consuming
падает. Есть где как его поймать?
Я думаю о проверке fiber: status при следующем посещении API. Или создайте сторожевой таймер для волокна, если я хочу, чтобы статус был действительным. Это сработает для меня, но кажется не лучшим решением.