Как пропустить строку в ресурсе и перейти к следующей

Поддержка
  • Всем привет!

    Храню в БД таблицу с прокси и кол-вом раз, сколько оно было успешно использовано.
    http://joxi.ru/brRydQ5U8BJN9A
    Именно так, потому что стандартный фунционал BAS по кол-ву успешных использований не подходит (скрипт может постоянно перезапускаться, счетчик сбрасывается из-за этого).

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

    1. Пробовал после вызова ресурса и проверки кол-ва его использований через if вызывать ресурс заново. Но там опять берется та же самая строка, а не следующая.
    2. Удалять строку из ресурса, если кол-во использований прокси больше 5, приводит к удалению прокси из БД (чего я не хочу).
    3. Преобразовывать ресурс в список и дальше работать с ним ломает функционал того, что 1 прокси должна использоваться одновременно только 1 раз. Потому что работа ведется уже не с ресурсом.

    Как быть в таком случае? Как, условно говоря, пропустить текущую строку ресурса и перейти к следующей в скрипте?

  • @doupiu said in Как пропустить строку в ресурсе и перейти к следующей:

    Всем привет!

    Храню в БД таблицу с прокси и кол-вом раз, сколько оно было успешно использовано.
    http://joxi.ru/brRydQ5U8BJN9A
    Именно так, потому что стандартный фунционал BAS по кол-ву успешных использований не подходит (скрипт может постоянно перезапускаться, счетчик сбрасывается из-за этого).

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

    1. Пробовал после вызова ресурса и проверки кол-ва его использований через if вызывать ресурс заново. Но там опять берется та же самая строка, а не следующая.
    2. Удалять строку из ресурса, если кол-во использований прокси больше 5, приводит к удалению прокси из БД (чего я не хочу).
    3. Преобразовывать ресурс в список и дальше работать с ним ломает функционал того, что 1 прокси должна использоваться одновременно только 1 раз. Потому что работа ведется уже не с ресурсом.

    Как быть в таком случае? Как, условно говоря, пропустить текущую строку ресурса и перейти к следующей в скрипте?

    При использовании ресурсов вы можете проверять подходит ли строка или нет, если не подходит - брать следующий (опция notreuse)

    352c8417-bc77-48c9-b953-5d14b3c3eea2-изображение.png

    Или вы можете не использовать ресурсы, тогда нужно будет добавить дополнительную колонку "lock", что бы блокировать запись при работе. А получать запись можно с помощью действия "Получить Записи По Критерию"

  • @Fox огромное спасибо за скрин. Видел сотню упоминаний notreuse, но не мог найти, где эта настройка. Думал ее убрали вообще уже. Она, вместе с циклом while, полностью решает мою проблему.