Я предлагаю изменить ваш код для оценки времени эпохи, чтобы вы могли оценивать время как числовое значение.
endtime = endtime or os.time() + 3600 -- add the expected stream duration in seconds.
curtime = os.time()
if (curtime >= endtime) then
mp.command("quit")
end
В вашем примере только 1 секунда времени, когда оператор if истинен.В то время как 1 секунда - долгое время для компьютера, можно пропустить окно, определенное таким образом.Если в вашем коде есть точки, в которых он может находиться в спящем режиме или долго ждать, вы можете пропустить окно только из этого.
Здесь, в моем примере, поток настроен на завершение через 1 час после первого запуска этого раздела кода.выполняется, это представлено 3600 секундами, которые я добавил в os.time ().
Если текущее время равно или больше, чем , то при увеличении на 3600 секунд условие if будет выполнено, и команда quit должна быть отправлена.