@Serg Читать файл
Нужен совет как найти процесс из за которого зависают все остальные потоки
-
Приветствую!
Такой вопрос, есть много потоков в них в нутри выполняются асинхронные функции и в нутри этих асинхронных функций выполняется код node.js.
Где-то в ходе работы скорее всего из за встроенного node.js происходит зависание и из за этого зависают все остальные потоки.
Сам BAS не висит и нагрузка на ПК не высокая при этом. Такое зависание длиться 1 минуту при этом все встроенные node.js в других потоках крашатся.
через какое то время перезапускаются потоки из за ошибок и все работает.Как можно найти где именно происходит записание? код очень обширный.
Спасибо за совет. -
@mocard said in Нужен совет как найти процесс из за которого зависают все остальные потоки:
этом все встроенные node.js в других потоках крашатся.
Написать обработчик ошибок в самом node.js, или в BAS использовать обработчик ошибок тогда вы хотя бы будете понимать что он возращает. В BAS иногда бывает ошибка "тайм в аут во время выполнения..." возможно это связанно с этим. Значит иногда на сервер nodejs в переменных передаются не те значания которые он умеет обрабатывать, но как ошибка они не обрабатываются.
-
@mocard Он прямо зависает? Все равно первая ошибка должна быть, первая ошибка в первом упавшем потоке. Пишите обработчик ошибок в самом node.js. Пусть он проверяет что ему приходит. Наверняка у вас где-то строки, где-то объекты, где-то массивы. Хотя бы на это проверку.
-
@mocard said in Нужен совет как найти процесс из за которого зависают все остальные потоки:
Так в том то и дело что когда зависает node.js в асинхронной функции из за него зависает весь скприт баса и потом я вижу в логе что крашатся все функции node.js которые работают в дргих потоках.
Проверьте файл node_log.txt, в нём будет текст ошибки, который привёл к крашу процесса ноды