@gurkin4 у меня и у многих не в какую не робит
Как ограничить время работы скрипта
-
в начале потока объявляем DATE (получаем текущее время) далее действие добавить секунды к дате DATE_PLUS(прибавляем необходимое время работы скрипта) далее выполнить код
_sa = function() { VAR_DATE_NOW = _parse_date(Date.now(),"auto") if(VAR_DATE_NOW > VAR_DATE_PLUS){ VAR_DATE = VAR_DATE_NOW success("Стоп") } } -
@xtra said in Как ограничить время работы скрипта:
в начале потока объявляем DATE (получаем текущее время) далее действие добавить секунды к дате DATE_PLUS(прибавляем необходимое время работы скрипта) далее выполнить код
_sa = function() { VAR_DATE_NOW = _parse_date(Date.now(),"auto") if(VAR_DATE_NOW > VAR_DATE_PLUS){ VAR_DATE = VAR_DATE_NOW success("Стоп") } }Строка
VAR_DATE = VAR_DATE_NOWздесь лишняя, так как следом идёт завершение потока. И я бы не советовал заменять функцию BAS полностью, кто знает какие баги при этом можно словить. Лучше дополнить своим кодом функцию BAS -
@Strix said in Как ограничить время работы скрипта:
@Fox said in Как ограничить время работы скрипта:
Лучше дополнить своим кодом функцию BAS
Подскажите пожалуйста как это выполнить?
Что именно?
-
@Strix said in Как ограничить время работы скрипта:
Например бывает что скрипт зацикливается - есть ли способ выставить ограничение работы по времени без доп потока?
А не лучше устранить причину, чем ставить подпорки? Если у вас какой-то цикл, например обработки ошибок, то лучше будет просто добавить ограничение на число итераций, и например выбрасывать ошибку.
-
@xtra проблема в том, что мы не знаем где зависон, и делать такую проверку нужно после каждого действия. Нету же варианта глобально следить сколько выполняется поток. Такая бы фишка тоже пригодилась. В Зене есть. Можно просто ограничеть время выполнения.
-
Ещё не проверял, но пришла такая мысль, запускать асинхронную функцию со слипом 30 минут (условно). И по завершению, завершать весь скрипт.
-
Проверил с асинхронной функцией не получается, так как не срабатывает ни сакцес, ни фейл. Оно видимо срабатывает внутри этой асинхронной, хотя в лог вообще ничего не выводит, поэтому не уверен что она там вообще срабатывает. А жаль, это было бы самое простое решение.