Костыль для таймаут выполнения шаблона

Lest

Client
Регистрация
20.03.2020
Сообщения
63
Благодарностей
69
Баллы
18
Добрый день. Речь идёт об этом:

1726043074819.png

Главная проблема этой функции в том, что она может запороть уже начатый BadEnd. При срабатывании таймаута на бедэнде, он не до конца отрабатывает, и по новой бедэнд не начинает отрабатывать (баг это или нет, сами решайте). При срабатывании на Good end, тоже просто прерывается работа, без выполнения беда. С гудом проще, можно его не использовать) А вот, что если сработает таймаут на BadEnd, в момент сохранения важных данных?!

По хорошему, разработчикам бы сделать, либо переназначение этого времени таймаута из работы шаблона, либо сделать кубик остановки и снова воспроизведения этого времени. Тогда бы можно было останавливать перед работой важных кубиков этот счётчик, и было бы нам счастье. Однако этого сейчас нет.

Варианты решения:
1) Делать по чаще проверку времени. Если понимаешь, что не успеет завершиться шаблон до срабатывания таймаута, лучше завершить работу шаблона самому на не важном моменте. Но всё же можно просчитаться со временем, и в теории может случиться тот косяк на BadEndе.

2) Можно в теории сделать свой таймаут. Шаблон из одного C# кубика, запустить в один поток таймаут, а другим потоком открыть проект в проекте нужный шаблон. По его завершению, отменить таймаут и открыть другой проект в проекте с сохранением важных данных или просто моменты на которых нельзя чтобы сработал таймаут. Ноо звучит очень сложно.

3) Вынести bad и good end в под проект/ы. И уже в нём сделать badend, который будет срабатывать, если сработает таймаут. В таком случае, этот BadEnd, не просто прервёт работу, а вызовет BadEnd в под проекте. Показываю на скринах:
1726045574390.png
Под проект:
1726045733424.png
 

Для запуска проектов требуется программа ZennoPoster.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...

Для того чтобы запустить шаблон, откройте программу ZennoPoster. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)