Ошибка функции в несколько потоков



  • Обычно не работаю с многопоточным вызовом функций, но получилось так что сейчас без этой фичи обойтись будет трудно и было-бы замечательно если-бы она работала должным образом.

    Суть проблемы: Необходимо перезапускать функцию при удачном либо неудачном завершении любого открытого в ней потока до бесконечности, но при выставлении любого большого числа софт просто крашится.
    Нужно чтобы каждый поток перезапускался после выполнения всех действий либо завершении при ошибках как это работает в основном теле скрипта.

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

    Может как-то по другому можно зациклить перезапуск? И будут ли это фиксить?0_1552562953929_ERROR.xml



  • @sydhe у меня ничего не крашится. (поставил сон после лога)
    Если надо установить "Успешных/Неудачных выполнений" бесконечно кол-во, то достаточно поставить значение "-1".

    Так же не забывайте про метки, с их помощью можно зациклить любое действие.



  • Хм, странно, не подумал проверить тестовый пример с задержкой.
    Значит дело уже где-то внутри моих функций, видимо что-то происходит мгновенно.
    Спасибо за подсказку, буду искать где накосячил, а по поводу меток - да знаю, сейчас пока так и делаю но вот с отловом ошибок проблема возникает ибо если делать через метки то приходится все тело оборачивать в игнор ошибок иначе придется лепить проверки на каждое действие, а в скрипте и так более 3000 строк, не хочется просто так его расширять еще больше.
    В общем еще раз спс, буду искать свою ошибку.



  • @sydhe said in Ошибка функции в несколько потоков:

    если делать через метки

    Да, если с метками, то отлавливать ошибки труднее, лучше их совсем не использовать... заменить циклами и функциями... :)