Но появилась новая проблема. Иногда скрипт во время работы внезапно запрещает выделять действия. Т.е при клике на любое действие, оно просто не выделяется красным. Это второй баг, независимый от первого если что
Как в басе сделать общий таймер на выполнение всего скрипта?
-
Допустим у меня есть скрипт с какой то логикой, я его запускаю он идет по пунктам
А можно как то сделать второстепенный таймер который будет отсчитывать время выполнения скрипта, что бы было ограничение выполнения скрипта скажем 5 минутами? И по истечению этого времени, завершаем проект по BadEnd, может можно как то сам поток так ограничивать? Только конечно еще нужно завершение с ошибкой, что бы данные все сохранились куда нужно
-
Нет все таки Асинхронная не подходит
Так как таймер (В виде асинхронной функции я запускаю в самом начале)
А основной поток (Из которого была запущена асинхронка) делает определенные действия и по всякому редактирует строку с данными и может где то очень долго задержаться, но строка с данными уже будет с изменениями
И мне нужно при завершении потока по таймеру (который выполняет функция вызвана асинхрнонно)
Записать эту строку в которой могли меняться данные, а асинхронная функция не может получить данные из основного потока, только те которые при запуске отправилХотя, сейчас подумал можно наверное ресурсы для этого использовать
-
В общем по тестил асинхронную функцию. Она видит данные в ресурсе, но только те которые были записаны в ресурс до ее запуска. Данные которые записываются в ресурс во время выполнения асинхронки, она не видит.
Да и поток из которого запущена асинхронная функция уже внутри асинхронной функции нельзя остановить по истечению таймера...
Только если прервать весь скрипт... -
@anarbus в глобальной переменной укажите время окончания работы, и пусть каждый поток периодически проверяет, не вышло ли это время, если вышло - завершить работу. А в асинхронной функции можно установить жесткий останов скрипта, если время превышено вдвое, например. Хотя, если всё отлажено, то асинхронка и не нужна.