Актуальное количество работающих потоков - как узнать?



  • Часть из потоков находится в "сон". Некоторые на 10-15 минут. По логу само собой не разберешься сколько потоков всё же ещё работает (в том числе сон). Нет ли функции позволяющей это узнать?



  • Используй глобальную переменную. Например, в начале работы сохраняешь туда количество запущенных потоков. Перед тем как поток уходит в сон, уменьшаешь значение этой переменной на 1. После "сна" - опять прибавляешь на 1. Можно выделить отдельный поток, который через определенное время будет выводить значение этой переменной в лог. Таким образом всегда будешь знать актуальное количество запущенных потоков.



  • @bratishka не будет так работать. Мне не важно во "сне" он или в работе - он активен, а не вывалился.

    Запустил 20 потоков. Через час повываливалось половина. Как это отследить? Я вижу только 1 вариант - должен быть какой то опрос работает ли поток (поток спит это тоже считай в работе). Через переменные не получится, ты же не знаешь в какой момент "крашится" поток. А они именно крашатся.

    ps решение для себя нашел хоть и не очень удобное.



  • @kuzkuz said in Актуальное количество работающих потоков - как узнать?:

    @bratishka не будет так работать. Мне не важно во "сне" он или в работе - он активен, а не вывалился.

    Запустил 20 потоков. Через час повываливалось половина.

    Херней страдаешь, надо сразу так делать, чтобы 24/7 все крутилось без отвала.



  • @FastSpace согласен. но что то где то отваливается. пока причина не найдена нужно решение. я его для себя нашел, но за ним приходится искать вот что ещё. если можешь помочь - подскажи.



  • @FastSpace т.е. потоки крашатся (через сутки двое +- ) как будто то нажато "остановить ждать каждый поток".
    Цикл потока около 30 минут. Т.е. он за это время десятки раз перезапускается, но в какой то момент что то случается...



  • @kuzkuz said in Актуальное количество работающих потоков - как узнать?:

    @FastSpace согласен. но что то где то отваливается. пока причина не найдена нужно решение. я его для себя нашел, но за ним приходится искать вот что ещё. если можешь помочь - подскажи.

    Подсказал.

    @kuzkuz said in Актуальное количество работающих потоков - как узнать?:

    @FastSpace т.е. потоки крашатся (через сутки двое +- ) как будто то нажато "остановить ждать каждый поток".
    Цикл потока около 30 минут. Т.е. он за это время десятки раз перезапускается, но в какой то момент что то случается...

    Не замечал именно краш потоков. У меня все хорошо.
    Есть краш целиком BAS если вечный быстрый цикл.
    Есть случаи зависание потоков: Ошибки рендера страницы, ip-api в действие прокси, таймауты браузерных элементов на странице заглушке, багованный пдф и т.д. Таких случаях около 10, я их все выловил и закостылил.



  • @FastSpace said

    Подсказал.

    Увидел. Спасибо. Не пойдет. Буду искать где крашится. Но хз смогу ли найти. Ладно бы вылетал по ошибке или ресурс кончался ... ни то ни то, я говорю, как будто просто в скрипте нажали "остановить --> ждать каждый поток"



  • @FastSpace said

    Есть случаи зависание потоков: Ошибки рендера страницы, ip-api в действие прокси, таймауты браузерных элементов и т.д. Таких случаях около 10, я их все выловил и закостылил.

    Ну вот сходу скажу у меня похоже на то что поток закончил очередной цикл а рестарт не делает. И так они поочереди отваливаются в течение длительного времени...



  • @kuzkuz said in Актуальное количество работающих потоков - как узнать?:

    @FastSpace said

    Есть случаи зависание потоков: Ошибки рендера страницы, ip-api в действие прокси, таймауты браузерных элементов и т.д. Таких случаях около 10, я их все выловил и закостылил.

    Ну вот сходу скажу у меня похоже на то что поток закончил очередной цикл а рестарт не делает. И так они поочереди отваливаются в течение длительного времени...

    Это может быть еще ошибка логики шаблона, поток упал в вечный цикл.



  • @FastSpace said in Актуальное количество работающих потоков - как узнать?:

    @kuzkuz said in Актуальное количество работающих потоков - как узнать?:

    @FastSpace said

    Есть случаи зависание потоков: Ошибки рендера страницы, ip-api в действие прокси, таймауты браузерных элементов и т.д. Таких случаях около 10, я их все выловил и закостылил.

    Ну вот сходу скажу у меня похоже на то что поток закончил очередной цикл а рестарт не делает. И так они поочереди отваливаются в течение длительного времени...

    Это может быть еще ошибка логики шаблона, поток упал в вечный цикл.

    Поток выполнен успешно с сообщением "Ok"
    и дальше ничего
    так что нет...



  • тем более у меня в конце скрипта в лог выодится "подтверждаю. закончил."
    и вот это тоже выводится. а рестарта нет.



  • @kuzkuz Не забыли случаем)
    BrowserAutomationStudio_4nxXmEdfQE.png



  • @kuzkuz said in Актуальное количество работающих потоков - как узнать?:

    тем более у меня в конце скрипта в лог выодится "подтверждаю. закончил."
    и вот это тоже выводится. а рестарта нет.

    Хз, с этим проблем действительно нет. Поток всегда четко рестартует.
    Возможно с ресурсами проблема.



  • @DoctorKrolic said in Актуальное количество работающих потоков - как узнать?:

    @kuzkuz Не забыли случаем)

    Само собой у меня повторять. Потоки выполняют по 30-100 циклов и потом нет рестарта.



  • @FastSpace said in Актуальное количество работающих потоков - как узнать?:

    @kuzkuz said in Актуальное количество работающих потоков - как узнать?:

    тем более у меня в конце скрипта в лог выодится "подтверждаю. закончил."
    и вот это тоже выводится. а рестарта нет.

    Хз, с этим проблем действительно нет. Поток всегда четко рестартует.
    Возможно с ресурсами проблема.

    Само собой и ресурсы проверил. Всё есть, сполна.
    И у меня потоки четко рестартуют. Но хватает на пару суток.



  • @kuzkuz Можно долго и бессмысленно гадать, прикладывайте тестовый проект



  • ещё раз. смотрите.
    потоки не рестартуют примерно через 2е суток (после 30-100 циклов каждого, у всех разное кол-во циклов).
    вижу что вместо 20 работает 5, останавливаю принудительно, делаю запуск и пошло поехало снова норм на пару суток.
    думаю это говорит о том что нет проблем с ресурсами точно.



  • А когда Неудач(0) становится больше заданного количества не отваливаются ли потоки как раз?



  • @kuzkuz , конечно, скрипт останавливается, если превышает лимит ошибок. Это также, как если стоит выполнять 100 раз и после 100 успехов остановка.


Log in to reply