Да очень просто, как по мне , так даже удобней чем логи копать.
После каждого ошибка-опасного действия втавляю кубик с запросом в котором записываю в базу № потока и № этого самого кубика который запрос делает. В конце скрипта (точнее в конце потока) делаю запрос к базе удаляю все записи которые относятся к этому потоку(по № потока).
Если поток отработал правильно, дошел до конца, он удаляет из базы все свои записи.
Если поток отвалился, соответственно запрос на удаление не сделал, записи в базе остались.
Таким образом в базе остаются только записи отвалившихся потоков.
Screenshot from 2021-11-01 18-17-14.png
смотрю на последнюю запись отвалившегося потока, ищу (поиском) по номеру кубика нужный кубик, вижу где скрипт отвалился. Думаю почему, исправляю, пробую дальше
Поток завершился с сообщением "Таймаут во время выполнения
-
Сообственно вопрос куда копать, вл огахи видает следующее:
[15:51:50] Поток №2 : Поток завершился с сообщением "Таймаут во время выполнения MouseMove"
Когда открил браузер виглядело как страничка просто зависла, куда копать и можно ли как-то указать что даже если выходит эта ошибка то просто рефрешим страничку -
@iptips таймаут сработает , когда не найден элемент , от которого или к которому у тебя идет движение мыши. (это основная причина)
игнорировать ошибки можно легко https://wiki.bablosoft.com/doku.php?id=ru:how_to_catch_errors
если по вики не понятно, то на форуме есть обсуждения http://community.bablosoft.com/search?term=игнорировать ошибки&in=titlesposts -
Бывают ситуации, когда страничка загружается и там может быть "белый экран"(страница не смогла загрузится хотя бы на 1%, у меня такое бывает) или страница загрузилась "косячно и криво без css".
В любом "косячном"случае, лучше будет перезагрузить страницу, для этого
Обернуть "стремные участки" в "игнорировать ошибки" и после блока "игнорировать ошибки" проверять переменную [[WAS_ERROR]] и заново загрузить страницу -
На самом деле эта проблема у всех. Но наверно решить ее не удастся. Но хотелось бы что бы в будущем, если возможно, в действии Загрузить было поле - количество попыток загрузить страницу. Потому что я тоже почти каждое действие загрузить оборачиваю в цикл и игнорирование ошибок ...