Удаление строки из файла по условию



  • Да, отлично помогло! Спасибо большое! Есть не очевидные вещи, которые без помощи не решаются)


  • administrators

    @zhevlakov

    Как мне сделать так, чтобы при ошибке прокси - удалять ее из файла?

    Вообще лучше дать БАС завершать поток, если прокси не работает. При таком подходе все происходит автоматом, а так приходится городить кучу кода.

    Действие "Удалить Текущий Элемент" удаляет строки из файла мгновенно и не зависимо от галки "Запись" и количества удачных и неудачных использований ресурса. У меня так. Если у вас это не работает, то это баг, приложите пожалуйста минимальный проект. Вот мой.

    deletecurrentelement.xml



  • @support В итоге я просто пришел к перебору списка проксей и автоматическому удалению через галочку Запись в ресурсе, проект пока не закончен, застрял на том, что не выдает ошибку при загрузке страницы, просто черный экран и переходит к шагу ввода текста.0_1483858473763_GoogleParse.xml


  • administrators

    @zhevlakov

    1. Почему пропускает ошибку?

    Цикл стоит внутри блока игнорирования ошибок, это означает, что при первой ошибке точка выполнения перейдет на первое действие за блоком игнорировать ошибки и цикл завершится. Это описано в вики http://wiki.bablosoft.com/doku.php?id=ru:how_to_catch_errors

    "Блок «Игнорировать Ошибки» может содержать несколько блоков, если один из них выполнится с ошибкой, то следующие за ним будут пропущены"

    1. Фильтрация прокси производится БАС автоматически.

    0_1483858997662_FilterProxies.png



  • @support 1. То есть блок игнорирования ошибки нужно ставить после действия, которое приведет к нему? Но в таком случае сработает ведь Fail и до блока отлавливания ошибки не дойдет.

    1. Не понял насчет автоматическую фильтрацию прокси, если этот блок можно заменить просто загрузкой URL, то на каком этапе я подключу прокси?
      P.S. Спасибо большое за оперативную поддержку!

  • administrators

    @zhevlakov
    1). Нет, блок игнорирования ошибок нужно ставить внутри цикла.
    2). Ок, можно заменить подключением прокси и загрузкой урл.



  • @support http://prntscr.com/dswdvv как-то так?


  • administrators

    @zhevlakov Тогда переменной WAS_ERROR нужно присвоить первоначальное значение в true.
    Либо использовать действия прокси и загрузить без циклов и без игнорирования ошибок.



  • @support Все, я понял смысл при Fail будет браться другой прокси и все заново. А каким образом тогда можно сделать так, чтобы удачные прокси не удалялись из файла, сейчас я в ресурсе поставил галочку Запись, если я поставлю Max Succes Usage больше одного, то другие потоки возьмут эту же прокси, что тоже не есть хорошо, при Max Fail Usage = 1, строка прокси будет удаляться пр и Fail, верно? Как мне добиться того, чтобы остались в файле только рабочие прокси? 0_1483861095426_GoogleParse.xml Вот последние правки


  • administrators

    @zhevlakov Тогда можно перейти на ручное удаление ресурса.

    • Убрать галку запись
    • Удалять ресурс в случае ошибки.

    0_1483862677104_BadProxy.png

    0_1483862733568_googleparse.xml



  • @support Спасибо! Так и сделаю!


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.