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

Главная проблема этой функции в том, что она может запороть уже начатый BadEnd. При срабатывании таймаута на бедэнде, он не до конца отрабатывает, и по новой бедэнд не начинает отрабатывать (баг это или нет, сами решайте). При срабатывании на Good end, тоже просто прерывается работа, без выполнения беда. С гудом проще, можно его не использовать) А вот, что если сработает таймаут на BadEnd, в момент сохранения важных данных?!
По хорошему, разработчикам бы сделать, либо переназначение этого времени таймаута из работы шаблона, либо сделать кубик остановки и снова воспроизведения этого времени. Тогда бы можно было останавливать перед работой важных кубиков этот счётчик, и было бы нам счастье. Однако этого сейчас нет.
Варианты решения:
1) Делать по чаще проверку времени. Если понимаешь, что не успеет завершиться шаблон до срабатывания таймаута, лучше завершить работу шаблона самому на не важном моменте. Но всё же можно просчитаться со временем, и в теории может случиться тот косяк на BadEndе.
2) Можно в теории сделать свой таймаут. Шаблон из одного C# кубика, запустить в один поток таймаут, а другим потоком открыть проект в проекте нужный шаблон. По его завершению, отменить таймаут и открыть другой проект в проекте с сохранением важных данных или просто моменты на которых нельзя чтобы сработал таймаут. Ноо звучит очень сложно.
3) Вынести bad и good end в под проект/ы. И уже в нём сделать badend, который будет срабатывать, если сработает таймаут. В таком случае, этот BadEnd, не просто прервёт работу, а вызовет BadEnd в под проекте. Показываю на скринах:

Под проект:


Главная проблема этой функции в том, что она может запороть уже начатый BadEnd. При срабатывании таймаута на бедэнде, он не до конца отрабатывает, и по новой бедэнд не начинает отрабатывать (баг это или нет, сами решайте). При срабатывании на Good end, тоже просто прерывается работа, без выполнения беда. С гудом проще, можно его не использовать) А вот, что если сработает таймаут на BadEnd, в момент сохранения важных данных?!
По хорошему, разработчикам бы сделать, либо переназначение этого времени таймаута из работы шаблона, либо сделать кубик остановки и снова воспроизведения этого времени. Тогда бы можно было останавливать перед работой важных кубиков этот счётчик, и было бы нам счастье. Однако этого сейчас нет.
Варианты решения:
1) Делать по чаще проверку времени. Если понимаешь, что не успеет завершиться шаблон до срабатывания таймаута, лучше завершить работу шаблона самому на не важном моменте. Но всё же можно просчитаться со временем, и в теории может случиться тот косяк на BadEndе.
2) Можно в теории сделать свой таймаут. Шаблон из одного C# кубика, запустить в один поток таймаут, а другим потоком открыть проект в проекте нужный шаблон. По его завершению, отменить таймаут и открыть другой проект в проекте с сохранением важных данных или просто моменты на которых нельзя чтобы сработал таймаут. Ноо звучит очень сложно.
3) Вынести bad и good end в под проект/ы. И уже в нём сделать badend, который будет срабатывать, если сработает таймаут. В таком случае, этот BadEnd, не просто прервёт работу, а вызовет BadEnd в под проекте. Показываю на скринах:

Под проект:

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