Ошибка "Процесс завершен"



  • В проекте установлено действие "Игнорировать ошибки", они игнорируются, но сегодня вылезла ошибка "Процесс завершен" (из-за нехватки памяти), и все потоки завершились. Возможно ли сделать перезапуск упавшего потока, а не завершать все остальные?



  • @blackhacker Архитектура софта такова. Есть основной процесс и дочерние. Если основной завершается, дочерние тоже завершаются. Если завершается дочерний, основной его перезапускает.



  • @support вот в том и дело, что не перезапустил, а выдал такую ошибку) и весь скрипт завершился

    Еще сейчас все завершилось с такой ошибкой:
    Поток аварийно завершился с сообщением "Таймаут во время выполнения GetLoadStats"

    Игнорирование ошибок не помогло, хотя весь шаблон стоит в секции "Игнорировать ошибки"
    Если нужен исходник, то я его выложил в магазин, и он у меня уже несколько дней тестируется. Поэтому по мере возникновения таких ошибок пишу тут.



  • @blackhacker В скрипте нужно установить количество неудачных использований в большое число.

    Тогда при падении процесс будет перезапускаться, и скрипт будет продолжать работу.

    0_1481496976331_FailNumber.png



  • @support Поставил, сегодня обнаружил такую магию:

    Удачно(1)
    Сообщения:
    1 - Ok

    Неудач(0)

    Неудач и восстановлено(45)
    Сообщения:
    30 - Не удалось загрузить страницу http://error-time.ru/
    3 - Не удалось дождаться полной загрузки страницы
    2 - Таймаут во время выполнения LoadPage http://error-time.ru/
    1 - Таймаут во время выполнения random point[documentRoot, all div, at 116]
    1 - Таймаут во время выполнения random point[documentRoot, all a, at 116]
    1 - Таймаут во время выполнения random point[documentRoot, all a, at 56]
    1 - Таймаут во время выполнения random point[documentRoot, all div, at 97]
    1 - Таймаут во время выполнения script for[documentRoot, all .ads-box, at 2]
    1 - Таймаут во время выполнения random point[documentRoot, all div, at 48]
    1 - Процесс остановлен
    1 - Таймаут во время выполнения random point[documentRoot, all div, at 27]
    1 - Таймаут во время выполнения random point[documentRoot, all div, at 34]
    1 - Таймаут во время выполнения random point[documentRoot, all a, at 40]

    Время работы : 02:13:51

    Последнее сообщение : Удачно

    Скрипт сам по себе остановился. Стоит игнор ошибок и количество неудачных выполнений 9999999
    До этого тоже бывали такие случайные вылеты. Но иногда и по 2 дня стояло, ничего не вылетало, хотя была гора ошибок в логе.



  • @blackhacker В этот раз скрипт остановился не из-за ошибки, а из-за того, что было успешное выполнение. Тут нужно ставить либо больше успешных, либо сделать так, чтобы основной while никогда не закончился.



  • @blackhacker Ну и неудач и восстановлено, это как раз то, что попало в игнорировать ошибки.



  • @support А как while остановился, если в условии стоит true? Но количество успешных увеличил, спасибо) Сразу не подумал об этом как-то



  • @blackhacker while не остановится, остановится скрипт, когда будут достигнуты успехи либо неудачи, либо закончатся ресурсы



  • @blackhacker Там есть break



  • @support Вроде нет, break только во вложенных циклах For



  • @blackhacker Да, странно, но не критично


Log in to reply