Работа с ресурсом, не могу понять где я лажаю!?



  • Есть ресурс {{resurs}} в виде txt файла, в который во время работы скрипта я через экшен добавить элемент, Добавить в файл/базу мгновенно, добавляю данные.
    На самом ресурсе стоит галка на:
    чтение
    запись
    успешных использований 1
    ошибочных использований 1
    одновременных использований 1

    После получения этого ресурса, в одном из потоков, в другом потоке я его забираю через
    экшен установить переменную с параметрами {{resurs|notreuse|onlyfail}}

    Все работает, но!
    После завершения работы скрипта, в txt файле все ресурсы так и остаются. Хотя по идее, те ресурсы которые скрипт взял из txt файла, должны быть удалены.

    Если ресурс в txt файле не добавляется по мере работы скрипта, а задан во время старта. То все работает как надо.



  • @samael_96 said in Работа с ресурсом, не могу понять где я лажаю!?:

    Есть ресурс {{resurs}} в виде txt файла, в который во время работы скрипта я через экшен добавить элемент, Добавить в файл/базу мгновенно, добавляю данные.
    На самом ресурсе стоит галка на:
    чтение
    запись
    успешных использований 1
    ошибочных использований 1
    одновременных использований 1

    После получения этого ресурса, в одном из потоков, в другом потоке я его забираю через
    экшен установить переменную с параметрами {{resurs|notreuse|onlyfail}}

    Все работает, но!
    После завершения работы скрипта, в txt файле все ресурсы так и остаются. Хотя по идее, те ресурсы которые скрипт взял из txt файла, должны быть удалены.

    Если ресурс в txt файле не добавляется по мере работы скрипта, а задан во время старта. То все работает как надо.

    Ресурс из файла читается при старте работы скрипта, чтобы скрипт узнал о новых элементах в нём, его нужно синхронизировать в ручную, либо установить опцию "обновлять периодически"
    0_1546912093155_6fc89f84-c8c2-44ca-8527-e18c1ee7733a-изображение.png



  • @fox К сожелению проблему не удалось решить.

    Суть в том что в ресурс я добаляю не одну простую строку вида лигин:пароль или запись прокси. А большую текстовую строку на несколько десятков килобайт.
    И если поставить галочку обновлять периодически
    То в итоге, когда ресурс обновляется, он "размазывается", то есть строк становится больше чем их есть на самом деле. Из одной моей добавленной текстовой строки, после обновления выходит 20 штук.
    Через api пробовал, вот этим кодом.

    _R["acc"].die()
    _R["acc"] = null
    RSync("acc")
    

    В итоге он хорошо работает с короткими строками на несколько символов. А большую текстовую строку, не может удалить.
    Что делать?
    Вся суть моего скрипта в том что он одновременно собирает и обрабатывает контент, и то что не смог обработать хранится потом в текстовых файлах в виде буфера.

    Можно удалить данные из ресурса, например по меткам?
    <1111>большой кусок текста в ресурсе<1111>
    Как это реализовать?



  • @samael_96 said in Работа с ресурсом, не могу понять где я лажаю!?:

    Через api пробовал, вот этим кодом.

    Вот api для работы с ресурсами.

    То в итоге, когда ресурс обновляется, он "размазывается", то есть строк становится больше чем их есть на самом деле. Из одной моей добавленной текстовой строки, после обновления выходит 20 штук.

    Создайте тестовый скрипт и скиньте сюда вместе с файлом со строками. Предметно разговаривать проще, чем гадать.

    Вся суть моего скрипта в том что он одновременно собирает и обрабатывает контент, и то что не смог обработать хранится потом в текстовых файлах в виде буфера.

    Можно удалить данные из ресурса, например по меткам?
    <1111>большой кусок текста в ресурсе<1111>
    Как это реализовать?

    Попробуйте работать с базой, в качестве буфера она подходит лучше, чем файл.



  • @fox Интересно, по поводу базы данных, я ни разу с ними не работал. Оказывается это довольно просто. Но ID записи в базе данных, я так понимаю все же придется передавать через ресурс?
    И еще один вопрос. Сколько можно безопасно напихать данных в базу? По размеру?

    PS. Спасибо за наводку.



  • @samael_96 said in Работа с ресурсом, не могу понять где я лажаю!?:

    @fox Интересно, по поводу базы данных, я ни разу с ними не работал. Оказывается это довольно просто. Но ID записи в базе данных, я так понимаю все же придется передавать через ресурс?

    PS. Спасибо за наводку.

    Пожалуйста :)
    Можно работать через ресурс, а можно напрямую с базой через модуль, вам, думаю, будет удобнее через ресурс.

    И еще один вопрос. Сколько можно безопасно напихать данных в базу? По размеру?

    В смысле сколько столбцов можно сделать в одной записи? Или сколько строк может быть в базе?
    На счёт столбцов не знаю, по идее хоть сколько. А количество строк будут влиять на производительность работы с базой.
    Я как то экспериментировал, База из 1 004 170 строк весила 750 мб и поиск совпадений по фильтру занимал 22 секунды на моём ссд.


Log in to reply