Поток выполнен успешно с сообщением "Ok"



  • Уже пару дней пытаюсь отловить противный баг. Каждый день, примерно за час работы, треть потоков падает с сообщением об успешном выполнении (Поток выполнен успешно с сообщением "Ok" ) в одном и том же месте(пока точно не знаю в каком). Отловить данный баг в режиме записи не получилось.....
    Вопрос в следующем: Есть ли альтернативные способы тестировки? У меня уже пол скрипта в логах для тестировки.



  • @Newgoodvdv10 А вы случайно не используете api bas в выполнить код? Или быть может чьи-то модули?



  • Чтобы не плодить новую тему, еще было бы неплохо добавить на вкладку "Отчет о работе" id экшена в блок "Неудачно и восстановлено". А то эти id только в ошибках есть, и найти сложно, где возникла проблема.



  • "пол скрипта"... у меня после каждого действия метка в mysql записывается. К сожалению это правда, из асинхронной функции ошибки не показываются, отваливается с сообщением - Поток выполнен успешно с сообщением "Ok"



  • Можно в ту же тему, но другой вопрос? :)
    Как переопределить стандартное:

    Поток выполнен успешно с сообщением "Ok"
    

    Не на своё, а что бы оно просто не выводилось в лог?
    Что бы клиенту выдавать только сухой остаток в логе, а не все тех. моменты.



  • @AngelOfAncient said in Поток выполнен успешно с сообщением "Ok":

    Как переопределить стандартное:

    Никак, только в web интерфейсе



  • @UserTrue про api баса слышу впервые, из доп модулей использую только SQL



  • @Newgoodvdv10 Тут есть как можно каждый шаг в лог выводить
    https://community.bablosoft.com/post/23267

    Возможно вы метками прыгаете между функций



  • @olegar Можно поподробнее по поводу записи меток в mysql. Как это реализовано? После каждого действия выполнять sql запрос?



  • Да очень просто, как по мне , так даже удобней чем логи копать.
    После каждого ошибка-опасного действия втавляю кубик с запросом в котором записываю в базу № потока и № этого самого кубика который запрос делает. В конце скрипта (точнее в конце потока) делаю запрос к базе удаляю все записи которые относятся к этому потоку(по № потока).
    Если поток отработал правильно, дошел до конца, он удаляет из базы все свои записи.
    Если поток отвалился, соответственно запрос на удаление не сделал, записи в базе остались.
    Таким образом в базе остаются только записи отвалившихся потоков.
    Screenshot from 2021-11-01 18-17-14.png
    смотрю на последнюю запись отвалившегося потока, ищу (поиском) по номеру кубика нужный кубик, вижу где скрипт отвалился. Думаю почему, исправляю, пробую дальше


Log in to reply