@Q_Q К сожалению через node.js и ws модуль не могу конектится к сокету т.к там каждый раз создаётся уникальная ссылка для нового пользователя, а объект который её создаёт определить для меня трудно сайт написан на react + obfurscator. Плюс к этому ещё и в самом ws внутри нужно каждые 5 минут отправлять токен аутентификации который генерирует какая-то анонимная функция либо вообще на сервере. Вроде ещё как можно сделать обёртку или сделать прокси чтобы свои обработчики повесить но это уже вообще темный лес для меня недостижимый. Поэтому пришлось использовать такой костыль. В Принципе все работает, ws команды я отправляю также через Ява скрипт и взаимодействую с этим сайтом быстро не используя веб интерфейс сайта вообще. Единственная проблема это видеть всю консоль не только в режиме отладчика. Я думал может в BAS есть какой-то свой способ о котором я не знаю, просто парсить ее в переменную бесконечно каждый раз обращаясь к ней и записывая последнее действие по умолчанию
Приложение BAS крэшится при запуске кода из функции OnApplicationStart при использовании скрипта в режиме "Повторять"
-
BAS версия
27.5.0
27.4.0В моем скрипте происходит запуск кода из функции OnApplicationStart. В этой функции идет инициализация глобальных переменных, а так же запускается код, в котором запускается браузер и проходят какие-то действия на странице.
Дизайн скрипта:
В скрипте реализован многопоток, а так же следующие ресурсы:

Threads - количество потоков;
Launch Mode - комбобокс с вариантами запуска скрипта:
Profiles Root Folder Path - корневая папка, где находятся все профили;
Profile Data Source File - csv с информацией о каждом профиле;ВАЖНО
В одном из режимов запуска Launch Mode, в котором возникает ошибка, никакие из ресурсов не задействованы, то есть запуск в каждом из профилей не предусмотрен в принципе. Задача конкретно этого куска кода - запуститься 1 раз, собрать данные на сайте и сохранить их в файл (именно поэтому этот код запускается из функции OnApplicationStart), но по какой то причине сбой происходит именно из за режима запуска "Повторять", который предназначен для запуска с использованием ресурсов.Что конкретно происходит при ошибке
Судя по логам, скрипт отрабатывает успешно и сразу после окончания работы, приложение BAS закрывается без каких-либо ошибок в консоли или в самой Windows.Если открыть лог файл после такого крэша, то видно, что по какой-то причине выводятся записи об успешном выполнении потока и так более 100 раз, хотя, как было выше сказано, эта часть кода находится в функции OnApplicationStart и должна запускаться 1 раз и в 1 поток.

Допольнительная информация
Если в настройках скрипта в режиме записи поменять режим запуска на "Один раз", то крэша не происходит и скрипт завершается корректно, но это совершенно не подходит под задачи всего скрипта, т.к. менять режим запуска туда-сюда, вообще не вариант.

-
@demonicon Интерфейс приложения зависает из за больших или бесконечных циклов без задержки, зависшее приложение закрывает винда. Тип запуска "повторять" превращает ваш скрипт в бесконечный цикл без задержки, если в первых же действиях есть ошибки. Что бы это определить добавьте первым действием в функцию Main сон на минимальное время.
-
@Fox said in Приложение BAS крэшится при запуске кода из функции OnApplicationStart при использовании скрипта в режиме "Повторять":
@demonicon Интерфейс приложения зависает из за больших или бесконечных циклов без задержки, зависшее приложение закрывает винда. Тип запуска "повторять" превращает ваш скрипт в бесконечный цикл без задержки, если в первых же действиях есть ошибки. Что бы это определить добавьте первым действием в функцию Main сон на минимальное время.
Спасибо за ответ. В функции Main нет никакого вызова функций. Можно сказать, что Main совсем пустой и вся логика данного куска кода проходит только в OnApplicationStart и самому скрипту просто негде зацикливаться. Все проходит в 1 потоке и никаких ошибок в самом скрипте нет. Все указанные мной ресурсы и кол-во потоков должны игнорироваться в данной ситуации и при данном виде запуска.
-
@demonicon said in Приложение BAS крэшится при запуске кода из функции OnApplicationStart при использовании скрипта в режиме "Повторять":
@Fox said in Приложение BAS крэшится при запуске кода из функции OnApplicationStart при использовании скрипта в режиме "Повторять":
@demonicon Интерфейс приложения зависает из за больших или бесконечных циклов без задержки, зависшее приложение закрывает винда. Тип запуска "повторять" превращает ваш скрипт в бесконечный цикл без задержки, если в первых же действиях есть ошибки. Что бы это определить добавьте первым действием в функцию Main сон на минимальное время.
Спасибо за ответ. В функции Main нет никакого вызова функций. Можно сказать, что Main совсем пустой и вся логика данного куска кода проходит только в OnApplicationStart и самому скрипту просто негде зацикливаться. Все проходит в 1 потоке и никаких ошибок в самом скрипте нет. Все указанные мной ресурсы и кол-во потоков должны игнорироваться в данной ситуации и при данном виде запуска.
Ещё раз говорю, добавьте сон первым действием в функции Main и OnApplicationStart